UIAlertView 灰色按钮
Posted
技术标签:
【中文标题】UIAlertView 灰色按钮【英文标题】:UIAlertView grey out button 【发布时间】:2013-08-03 02:32:42 【问题描述】:我有一个带有多个按钮的 UIAlertView。是否可以灰显并禁用按钮?我希望按钮是可见的,但很清楚它不能被按下。任何建议表示赞赏。
【问题讨论】:
【参考方案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 是一个完全不同的问题... :)
【讨论】:
【参考方案2】:我听说很多人继承 UIAlertView,但后来我在 Apple's UIAlertView Class Reference page 上看到了这条评论:
子类化注释
UIAlertView 类旨在按原样使用,而不是 支持子类化。此类的视图层次结构是私有的,并且 不得修改。
即人们不应该试图修改 UIAlertView 的元素或行为。在更高版本的 ios(例如 iOS 8 或 iOS 7.1 或其他版本)中,行为可能会发生变化,从而破坏他们对 UIAlertView 的各种修改。
无论如何,回答您的问题:为什么不尝试创建您自己的 UIView,您可以将其添加为类似 UIAlertView 的子视图在您的任何视图之上?这样,您就可以轻松控制按钮及其行为。
【讨论】:
以上是关于UIAlertView 灰色按钮的主要内容,如果未能解决你的问题,请参考以下文章