UIAlertView 键盘覆盖文本视图问题

Posted

技术标签:

【中文标题】UIAlertView 键盘覆盖文本视图问题【英文标题】:UIAlertView keyboard overlay textview issue 【发布时间】:2015-01-29 21:23:47 【问题描述】:

我找到了这段代码:

CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0.0, 130.0);
[myAlertView setTransform:myTransform];

但似乎它想将我的警报提升到顶部。如何将警报视图上移到顶部?

设置框架也无济于事。 alerView.frame = rect;

【问题讨论】:

【参考方案1】:

如果您使用的是UIAlertView,则不能。来自苹果文档:

警报视图的外观

您无法自定义警报视图的外观。

其他地方......

子类化注释

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

还有更多……

在警报视图中使用自动布局

为您处理警报视图的布局。您不能在警报视图和另一个用户界面元素之间创建自动布局约束。

见Apple Docs和Alert Views

UIAlertViewios8 开始也已被弃用,因此您应该改用 UIAlertController。或者,您可以创建一个自定义的 UIView 来满足您的需要。

【讨论】:

以上是关于UIAlertView 键盘覆盖文本视图问题的主要内容,如果未能解决你的问题,请参考以下文章

为啥在我的视图被推送到导航堆栈之前我的 UIAlertView 没有在屏幕上消失?

弹出软键盘时,adMob 横幅会覆盖文本视图

当我使 UIAlertView 中的 UITextField 成为第一响应者时,为啥键盘不显示?

键盘覆盖了部分编辑文本

更改 UIAlertView 键盘的类型

创建半透明覆盖以模仿 UIAlertView 或 UIActionSheet?