2013-03-14 84 views
0

1st:Xcode版本4.6(4H127),模拟器6.1UIButton Bug? (Xcode版本4.6(4H127))

因此...我做了以下操作。 我的按钮(从UIButton继承)从nib加载。然后我为UIControlStateNormal设置了它的图像。 我有这样的事情: button

之后,我需要废止它:

[button setImage:nil forState:UIControlStateNormal]; 

然后我看到: wrong_button

检查进行比较:

button

wrong_button

所以标题layouted权,但图像依然存在...

而且,如果我做如下:

[button setImage:[UIImage new] forState:UIControlStateNormal]; 

我得到类似结果,第二个,但没有一个像(如预期,但不完全,不布点):

new_image

我在这里发生了什么真正感兴趣的?它真的很有趣,MB苹果打破了什么?或者我只是做错了什么?但我已经做了很多次(设置图像 - >无),一切正常。

谢谢你阅读:)我将不胜感激任何帮助。

回答

0

我写了一个关于此的示例代码。

你的两个电话的工作我的罚款

[self.myCustomButton setImage:nil forState:UIControlStateNormal]; 
[self.myCustomButton setImage:[UIImage new] forState:UIControlStateNormal]; 

我认为,你可以设置BackGroundImage,而不是image

enter image description here

采样方法

-(IBAction)removeImage:(id)sender{ 

    [self.myCustomButton setImage:nil forState:UIControlStateNormal]; 
    //[self.myCustomButton setImage:[UIImage new] forState:UIControlStateNormal]; 
} 

-(IBAction)setImage:(id)sender{ 

    [self.myCustomButton setImage:[UIImage imageNamed:@"Button_Disable.jpg"] forState:UIControlStateNormal]; 
} 
+0

谢谢** Ramshad **为您的回复,但我写了正是我在做什么。如果我设置了backgroundImage,我的backgroundImage应该拉伸到我的按钮的边界。但我打电话给setImage,所以它没有发生。 我手动重新创建按钮,但我强烈地得到这个错误。 希望能找到解决方案。 – 2013-03-15 02:27:31

0

这件事是在这里: 我的UIButton的子类覆盖-layoutSubviews,在使用一些基准设定imageView.hidden。 因此,如果隐藏属性为YES,那么当我调用setImage:forState时 - 发生此错误。

我的修复是下一个: 我刚开始使用alpha属性而不是隐藏。 (我知道这是肮脏的,但这是我找到的最快的方式)