UIAlertView灰色按钮

时间:2013-08-03 02:32:43

标签: ios uialertview

我有一个带有多个按钮的UIAlertView。是否可以灰显并禁用按钮?我希望按钮可见,但清楚它无法按下。任何建议都表示赞赏。

2 个答案:

答案 0 :(得分:1)

确保您已将当前VC启用为实施<UIAlertViewDelegate>协议,然后在VC中执行以下操作:

- (void)viewDidAppear:(BOOL)animated {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert!" message:@"This is an alert view" delegate:nil cancelButtonTitle:@"Cancel!" otherButtonTitles:@"Off", @"On", nil];
    alert.delegate = self;
    [alert show];
}


/* UIAlertViewDelegate methods */
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView {
    return NO;
}

// Other UIAlertViewDelegate methods...

现在为什么你想要用一个没有任何功能的按钮显示UIAlertView是一个完全不同的问题... :)

答案 1 :(得分:0)

我听说有很多人继承了UIAlertView,但后来我在Apple's UIAlertView Class Reference page上阅读了这条评论:

  

子类注释

     

UIAlertView类旨在按原样使用,但不是   支持子类化。此类的视图层次结构是私有的   不得修改。

即。人们不应该试图修改UIAlertView的元素或行为。在iOS的更高版本(例如iOS 8或iOS 7.1或其他版本)中,行为可能会发生变化,从而打破了对UIAlertView的各种修改。

无论如何,要回答你的问题:为什么不尝试创建你自己的UIView,你可以在你的任何视图之上添加类似UIAlertView的子视图?这样,您就可以轻松控制按钮及其行为。