Xcode 4.2、UIAlertView 和 UIAlertButton?

Posted

技术标签:

【中文标题】Xcode 4.2、UIAlertView 和 UIAlertButton?【英文标题】:Xcode 4.2, UIAlertView and UIAlertButton? 【发布时间】:2011-11-25 09:53:18 【问题描述】:

在我将 Xcode 从 4.1 更新到 4.2 后,UIAlertView 的其他按钮无法正确显示。

当我调试时,重命名按钮是 UIAlertButton 类,它的框架是 frame = (0 0; 0 0); 你能帮忙吗?

【问题讨论】:

这真的是 UIAlertView,还是某个子类或替代品? 你能发布你的警报视图设置代码吗? 根据 HIG,我们不应该在 AlertView 上有 UITextFields @ShantiKamichetty 它在 ios 5 中有所改变,现在支持多种样式,包括 TextInput developer.apple.com/library/ios/documentation/uikit/reference/… @shanti kamichetty,你确定吗? 【参考方案1】:

UIAlertView 在被子类化时表现得非常糟糕。 Apple 似乎试图让子类化几乎成为不可能。

但有一些方法可以解决它。最好的一个:一个 UIAlertView 替代品——一个视图,它重新创建了 UIAlertView 的功能,而不是一个。 TSAlertView 就是这样的替代品。

对于 iOS 5,alertViewStyle 可能会对您有所帮助。

【讨论】:

【参考方案2】:

我认为解决这个问题的快速方法可能是:

alert = [[YourSubclassOfUIAlertView alloc] initWithTitle:@"Change my name"
message:@"From now on, I want to know as:\n\n"  /* Add \n\n to expand the UIAlertView space */ delegate:.....

顺便说一句:@vikingosegundo 是对的。 你会发现这篇文章很有用:Customizing UIAlertView

【讨论】:

以上是关于Xcode 4.2、UIAlertView 和 UIAlertButton?的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 5 和 iOS 8 上关闭 UIAlertView

Xcode 在 UITableRowSelection 之后显示 UIAlertView?

Xcode 4.2,无法运行单元测试

XCode 4.2 NSManagedObject 上下文构建失败

从 UIAlertview 获取用户名、密码以在 willSendRequestForAuthenticationChallenge xcode 中使用

Swift 中的 UIAlertView,获取 EXC_BAD_ACCESS