1

我无法理解这一点。基本上,我想要与 UITextField 相同的样式,但能够采用多行字符串。我确定这是一个经常被问到的问题,但我在网络上的任何地方都找不到可读的解决方案。

哦,当我触摸它或按下“完成”按钮(似乎不存在)时,我怎样才能让该死的键盘消失?

4

2 回答 2

0

对于 textview 不幸的是你不能改变它的形状,但是你可以做一个圆角方形图像将它放在文本视图后面并使 textviews 背景透明,它看起来很好。要关闭键盘,您需要在用户开始编辑时弹出一个按钮并让他们按下它以关闭键盘

于 2009-08-13T16:32:23.983 回答
0

没有内置方法可以更改 UITextField 的外观。您可以做的是子类 UITextField 以更改其外观或向其添加某种背景视图,因此它看起来具有您想要的形状。(我假设您想要一个固定高度的字段;如果您希望字段改变高度,就像在 Apple 的 SMS 应用程序中一样,您将不得不观察字段框架的变化并适当地调整您的背景视图.)

要摆脱键盘,请将正在编辑的对象(Cocoa 用语中的“第一响应者”)发送resignFirstResponder方法:

[myTextField resignFirstResponder];

这会导致该字段放弃其作为处理文本、触摸等输入的对象的状态,并使键盘消失。将此嵌套在一个方法中,当您按下完成按钮并设置好时,该方法会被调用。如果您希望字段外的任何按下以辞去文本字段上的第一响应者,您也可以touchesEnded:withEvent:在视图控制器中覆盖:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesEnded:touches withEvent:event];

    [myTextField resignFirstResponder];
}
于 2009-08-13T16:41:51.797 回答