UIButton的imageView在调整大小时变得不隐藏
Posted
技术标签:
【中文标题】UIButton的imageView在调整大小时变得不隐藏【英文标题】:UIButton's imageView becomes unhidden when resizing 【发布时间】:2014-06-09 17:20:12 【问题描述】:考虑以下代码。在 ios 7.1 上测试
- (void)viewDidLoad
[super viewDidLoad];
UIButton *button = [[UIButton alloc] init];
[self.view addSubview:button];
[button setTitle:@"Test" forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"Default"] forState:UIControlStateNormal];
button.imageView.hidden = YES;
[button sizeToFit];
NSLog(button.imageView.hidden ? @"YES" : @"NO");
//button's imageView is no longer hidden!
为什么 sizeToFit 会取消隐藏 imageView?
【问题讨论】:
我运行了你的代码,我从 NSLog 得到了是。您还在看到按钮顶部的图像吗?您不想只隐藏图像的按钮,对吧? @Yan 正确。我看到没有。您在哪个版本的 iOS 上进行测试? 这是 Xcode 5.1.1 和 iOS SDK 7.1 请注意,您必须设置要复制的图像。 是的,这就是我现在正在尝试的。一分钟后通知您。 【参考方案1】:请尝试通过将 setImage 属性更改为 nil 来隐藏图像 -
[button setImage:nil forState:UIControlStateNormal];
而不是设置 hidden=YES 而不是手动调整按钮的大小。
【讨论】:
另外,这将影响使用图像的任何尺寸调整代码。以上是关于UIButton的imageView在调整大小时变得不隐藏的主要内容,如果未能解决你的问题,请参考以下文章
iOS - UIButton 在显示操作表时变为灰色,然后在关闭操作表时变为蓝色