我需要能够从视图中删除一个按钮并添加另一个按钮。我的代码如下所示:
-(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 只是一个普通的空视图控制器。我在中间添加一个按钮。我点击 NSLog ok 来检查标签,但视图没有被删除。我应该提到我正在使用一个每 5 秒触发 updatepromobanner 的线程。
奥斯卡是对的。您必须在主线程上更新界面。我想我会添加一些代码来提供帮助。
Replace:
[subView removeFromSuperview];
With:
[subView performSelectorOnMainThread:@selector(removeFromSuperview) withObject:nil waitUntilDone:NO];
我认为你应该不需要做任何改变就可以开始了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)