gpt4 book ai didi

iphone - removeFromSuperview 不起作用

转载 作者:太空狗 更新时间:2023-10-30 03:20:53 27 4
gpt4 key购买 nike

我需要能够从 View 中删除一个按钮并添加一个不同的按钮。我的代码如下所示:

-(void)UpdatePromoBanner:(NSString*)value{
[button setTitle:@"newer text" forState:UIControlStateNormal];
for (UIView *subView in emptyViewController.view.subviews)
{
if(subView.tag == 99) {
//--remove button and add an updated one
NSLog(@"Remove button?");
[subView removeFromSuperview];
//[subView.superview addSubview:button];
}
}
NSLog(@"event called");

}

-(void)AddPromoBannerToBottom:(UIView*)view {

button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(aMethod:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:lblForBannerButton forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
button.tag = 99;

[view addSubview:button];
}

emptyViewController 只是一个普通的空 View Controller 。我在中间添加了一个按钮。我点击了检查标签的 NSLog ok,但 View 没有被删除。我应该提到我正在使用每 5 秒触发一次 updatepromobanner 的线程。

最佳答案

奥斯卡是对的。您必须更新主线程上的界面。我想我会添加一些代码来提供帮助。

替换:

[subView removeFromSuperview];

与:

[subView performSelectorOnMainThread:@selector(removeFromSuperview) withObject:nil waitUntilDone:NO];

而且我认为您应该可以在不更改任何其他内容的情况下继续使用。

关于iphone - removeFromSuperview 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12005261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com