代码之家  ›  专栏  ›  技术社区  ›  Jamie Rumbelow

我如何才能使UITextView具有与UITextField相似的样式,如何让该死的东西消失?

  •  1
  • Jamie Rumbelow  · 技术社区  · 17 年前

    我不明白。基本上,我想要与UITextField相同的样式,但是能够采用多行字符串。我确信这是一个常见问题,但我在网络上找不到一个可读的解决方案。

    哦,当我触摸键盘,或者按下一个“完成”按钮(似乎不存在)时,我怎么能让它消失呢?

    2 回复  |  直到 17 年前
        1
  •  0
  •   Daniel    17 年前

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

        2
  •  0
  •   Tim    17 年前

    没有内置的方法可以更改UITextField的外观。您可以改为使用UITextField子类来更改其外观或向其添加某种背景视图,使其看起来具有所需的形状。(我假设你想要一个固定高度的字段;如果你想让字段改变高度,就像在苹果的短信应用程序中一样,你将不得不在观察字段框架的变化时乱来,并适当调整背景视图。)

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

    [myTextField resignFirstResponder];

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

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