gpt4 book ai didi

iphone - 无法以编程方式隐藏使用 IB 创建的 UIButton

转载 作者:技术小花猫 更新时间:2023-10-29 10:06:59 25 4
gpt4 key购买 nike

我的 iOS UIButton 已从 IB 正确链接到我的 View Controller 中的 IBOutlet,因为我可以从我的代码中更改它的标题。即:

[self.myButton setTitle:@"new title" forState:UIControlStateNormal]; //works

但是,

[self.myButton setHidden:YES]; //doesn't work
//or
self.myButton.hidden = YES; //doesn't work

这是怎么回事?如何让 myButton 消失?

更新:一些附加信息

这是与我的 UIButton 相关的代码:

在我的 .h 文件中

IBOutlet UIButton *myButton;
-(IBAction)pushedMyButton:(id)sender;
@property (nonatomic,retain) UIButton *myButton;

在我的 .m 文件中

@synthesize myButton;
- (void)pushedMyButton:(id)sender{
self.myButton.hidden = YES;
}
- (void)dealloc{
[self.myButton release];
}

最佳答案

好的,我找到了一个可行的解决方法,但我仍然不知道为什么我的原始代码一开始就不起作用。我使用 Grand Central Dispatch 在主队列上调度一个包含 hide 调用的 block ,如下所示:

dispatch_async(dispatch_get_main_queue(), ^{
self.myButton.hidden = YES; //works
});

很有趣。不过,我的 IBOutlet 中的初始代码都没有包含在 GCD block 中。有什么想法吗?

关于iphone - 无法以编程方式隐藏使用 IB 创建的 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4498400/

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