我想移动一个UIAlertView
的框架,因为我正在向它添加一个UITextFied,当键盘隐藏了我的alertView的一部分的Cancel
和Ok
按钮时/ p>
答案 0 :(得分:1)
您是否只想移动整个警报视图或移动按钮内的视图?如果是前者,UIAlertViews是UIView的子类。只需使用.frame属性。
如果是后者,我建议不要这样做。相反,我可能会建议某种形式的模态视图。并向Apple提出关于使这成为可能的雷达。
基本上,您必须将UIAlertView子类化以更改视图本身。但是,它需要指出UIAlertViews 非常脆弱(视图中的按钮是私有类,而IIRC,内部已经改变了)。
但如果你必须,就像现在一样,你将需要使用黑客攻击。 UIAlertView是一个UIView子类,您可以根据需要迭代子视图。您的视图中只有三种视图 - 两种视图(消息和标题标签,您添加的文本字段)是公共类,您可以使用- isKindOfClass:
进行检查。
或者,还有“使警报有一条消息占用两行并添加警报视图,以便它覆盖该子视图”,代价是在警报中有一个消息。就像hacky一样,以不同的方式。