2015-02-11 59 views
0

我正在寻找一种将UITextView编辑到UIAlertView中的方法。iOS UIAlertview with uitextview可编辑

我知道如何把一个简单的文本字段与:

alert.alertViewStyle = UIAlertViewStylePlainTextInput; 

但这不是我想要的。我想要一个更大的文本输入,以便用户可以在新闻之后撰写评论。

这可能吗?

+1

为此目的,为什么要使用警报视图?你可以在UITextView中使用uiview,只需在评论时添加它作为子视图。 – 2015-02-11 12:42:37

+0

我已经有一个表视图中的评论列表,我想从我的视图中删除“添加评论”以减少占位 – user3718160 2015-02-11 12:44:58

+0

因此,您可以添加一个uview,而不是显示一个alertview,例如:[self.tableview addsubview: uiview] – 2015-02-11 12:47:28

回答

1

不幸的是,您所追求的是不可能与UIAlertView

Apple不允许开发人员修改UIAlertView或其子类的视图层次结构。检查出Apple Documentation for UIAlertView。根据部分标注子类注你会发现

的UIAlertView中类拟用作-是,不支持子类。该类的视图层次结构是私有的,不能修改。

但不幸的是,因为UIAlertView仍具有addSubview:方法,因此它违背苹果公司实际上是在告诉我们,但这仍然是这里的原因是因为UIAlertViewUIView具有这种方法的子类。所以苹果所做的是他们已经改写了这种方法,因此它绝对没有任何内容,所以当你拨打[myAlertView addSubview:myView];时什么也不做,并且没有视图会被添加到UIAlertView

因此,您需要实施自定义警报视图(请查看Custom UIAlertView的Google搜索)以获取您的行为。

幸运的是,在iOS 8中,Apple引入了一个名为UIAlertController的新类,它允许您获取您之后的行为,并且他们已弃用UIAlertView类。