iOS UIAlertview与uitextview可编辑
我正在寻找一种在UIAlertView中放置UITextView的方法。
我知道如何使用以下简单的文本字段:
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
但这不是我想要的。 我想要更大的文本输入,以便用户可以在新闻之后编写评论。
这可能吗 ?
不幸的是, UIAlertView
无法实现您所追求的目标。
Apple不允许开发人员修改UIAlertView
的视图层次结构或将其子类化。 查看UIAlertView
的Apple文档 。 在标记为Subclassing note的部分下,您将找到
UIAlertView类旨在按原样使用,不支持子类化。 此类的视图层次结构是私有的,不得修改。
不幸但是因为UIAlertView
仍然有addSubview:
方法,所以它与Apple实际告诉我们的内容相矛盾,但这仍然是因为UIAlertView
是UIView
的子类,它有这种方法。 所以Apple所做的是他们已经覆盖了这个方法,所以当你调用[myAlertView addSubview:myView];
时,它绝对没有任何[myAlertView addSubview:myView];
什么都不做, UIAlertView
也不会添加任何视图。
因此,要获得您所需的行为,您需要实现自定义AlertView(查看Google搜索Custom UIAlertView )。
幸运的是,在iOS 8中,Apple引入了一个名为UIAlertController
的新类,它允许您获取您所追求的行为,并且他们已经弃用了UIAlertView
类。