我正在寻找一种将UITextView编辑到UIAlertView中的方法。iOS UIAlertview with uitextview可编辑
我知道如何把一个简单的文本字段与:
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
但这不是我想要的。我想要一个更大的文本输入,以便用户可以在新闻之后撰写评论。
这可能吗?
我正在寻找一种将UITextView编辑到UIAlertView中的方法。iOS UIAlertview with uitextview可编辑
我知道如何把一个简单的文本字段与:
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
但这不是我想要的。我想要一个更大的文本输入,以便用户可以在新闻之后撰写评论。
这可能吗?
不幸的是,您所追求的是不可能与UIAlertView
。
Apple不允许开发人员修改UIAlertView
或其子类的视图层次结构。检查出Apple Documentation for UIAlertView
。根据部分标注子类注你会发现
的UIAlertView中类拟用作-是,不支持子类。该类的视图层次结构是私有的,不能修改。
但不幸的是,因为UIAlertView
仍具有addSubview:
方法,因此它违背苹果公司实际上是在告诉我们,但这仍然是这里的原因是因为UIAlertView
是UIView
具有这种方法的子类。所以苹果所做的是他们已经改写了这种方法,因此它绝对没有任何内容,所以当你拨打[myAlertView addSubview:myView];
时什么也不做,并且没有视图会被添加到UIAlertView
。
因此,您需要实施自定义警报视图(请查看Custom UIAlertView的Google搜索)以获取您的行为。
幸运的是,在iOS 8中,Apple引入了一个名为UIAlertController
的新类,它允许您获取您之后的行为,并且他们已弃用UIAlertView
类。
为此目的,为什么要使用警报视图?你可以在UITextView中使用uiview,只需在评论时添加它作为子视图。 – 2015-02-11 12:42:37
我已经有一个表视图中的评论列表,我想从我的视图中删除“添加评论”以减少占位 – user3718160 2015-02-11 12:44:58
因此,您可以添加一个uview,而不是显示一个alertview,例如:[self.tableview addsubview: uiview] – 2015-02-11 12:47:28