【问题标题】:UIButton's imageView becomes unhidden when resizingUIButton的imageView在调整大小时变得不隐藏
【发布时间】: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
  • 请注意,您必须设置要复制的图像。
  • 是的,这就是我现在正在尝试的。一分钟后通知您。

标签: ios objective-c cocoa-touch


【解决方案1】:

请尝试通过将 setImage 属性更改为 nil 来隐藏图像 -

[button setImage:nil forState:UIControlStateNormal];

而不是设置 hidden=YES 而不是手动调整按钮的大小。

【讨论】:

  • 另外,这将影响使用图像的任何尺寸调整代码。
猜你喜欢
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 2013-10-08
相关资源
最近更新 更多