按钮禁用Xcode 5.1.1

时间:2014-07-01 07:51:38

标签: ios iphone objective-c

enter image description here

在Xcode 5.1.1和iOS SDK 7.1中禁用按钮时,我遇到了一个非常奇怪的问题。

当我在- (void)viewDidLoad- (void)viewWillAppear:(BOOL)animatednib中停用按钮时,我的按钮会被隐藏。

相同的代码适用于iOS 7.0及更低版本。

myButton.enabled = NO;

这是Apple的bug吗? 我曾尝试过不同的项目,但结果是一样的。

3 个答案:

答案 0 :(得分:0)

我正在使用Xcode 5.1,它在iOS 6到iOS 7.1上运行良好。

可能性是: 检查按钮是系统还是自定义。它总是应该是定制的。

尝试将按钮设为myButton.enabled = YES;并查看iOS 7.1中隐藏的按钮。 然后检查是否在nib文件中,为按钮的禁用状态设置了清除颜色。

答案 1 :(得分:0)

可能是您的按钮位于另一个ui对象(即UIView)下方,因此它被隐藏和禁用。如果启用了另一个视图的用户交互,并且此视图恰好位于按钮上方,则该视图将接管触摸事件。另一个问题可能是你的按钮超出了超级视图的界限,这个超级视图启用了clipToSubview。

答案 2 :(得分:0)

实际上我在设置图像时存在问题。我正在使用SpriteSheet设置每个按钮的图像。在切片和在背景中调整大小后,图像会动态添加。因此,无论按钮状态如何,它都设置为已禁用和正常状态的图像。

现在要解决这个问题,我检查了按钮的状态,只是设置了它的

if (myButton.state == UIControlStateDisabled)
{
   myButton.enabled = YES;
   [myButton setImage:returnImage forState:UIControlStateNormal]; // return Image is the image which i get from sprite sheet after slicing and resizing.
   myButton.enabled = NO;
}