如何以编程方式初始化 UITextView?

发布于 2024-09-13 01:46:46 字数 247 浏览 7 评论 0原文

我怎样才能初始化一个漂亮的 UITextView 呢?我有这样一句话:

textView = [[UITextView alloc] initWithFrame:CGRectMake(150, 150, 100, 100)];

但我想让它看起来不错,但我不知道这样做的函数或语法。我希望它能够自动换行,并且我希望角是圆角的。另外,如果用户按键盘上的“返回”键,如何才能使键盘消失。我想让它说“完成”而不是“返回”

How can I initialize a UITextView that is nice and pretty. I have the line:

textView = [[UITextView alloc] initWithFrame:CGRectMake(150, 150, 100, 100)];

but I'd like to make it look nice and I do not know the functions or the syntax to do so. I'd like it to have word wraping and I'd like the corners to be rounded. Also, how can I make it so that the keyboard goes away if the user presses "Return" on the keyboard. And I'd like to make it say "Done" instead of "Return"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

╭⌒浅淡时光〆 2024-09-20 01:46:46

您应该检查文档。这一切都在那里。具体来说:

  • 您无法设置边框,只能为 UITextField 执行此操作
  • ,您需要设置委托并实现 -textViewDidChange: 要检查返回,
  • 您可以将 textView.returnKeyType 设置为 UIReturnKeyDone 以获得“完成”按钮。

您可能需要考虑使用 UITextField,因为该对象的委托有一个非常方便的 -textFieldShouldReturn: 方法,并且正如我所说,您可以设置其边框。

You should check the documentation. This is all in there. Specifically:

  • you can't set the border, you can only do that for a UITextField
  • you'll need to set your delegate and implement -textViewDidChange: to check for returns
  • you can set textView.returnKeyType to UIReturnKeyDone to get the Done button.

You might want to consider using a UITextField, as that object's delegate has a very convenient -textFieldShouldReturn: method, and you can, as I said, set its border.

不即不离 2024-09-20 01:46:46

查看 UITextView 文档链接的 UItextInputTraits 协议。
所有这些属性都可以在那里找到,还有其他。

前任:

textView.returnKeyType = UIReturnKeyTypeDone;

check out the UItextInputTraits protocol that is linked from the UITextView documentation.
All of these properties can be found there, and others.

EX:

textView.returnKeyType = UIReturnKeyTypeDone;
小镇女孩 2024-09-20 01:46:46
  • 要使边框看起来接近 UITextField,您可以添加以下行。

    [textView.layer setBorderColor:[[[UIColor greyColor] colorWithAlphaComponent:0.5] CGColor]];
    [textView.layer setBorderWidth:1.0];
    textView.layer.cornerRadius = 3;
    textView.clipsToBounds = YES;
    
  • 要通过按“完成”(“返回”)按钮释放键盘,您可以重写以下协议(UITextViewDelegate)方法。

    - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)范围 replacementText:(NSString *)text
    {
         if ([text isEqualToString:@"\n"]) {
            [textView resignFirstResponder];
            返回否;
         }
         返回是;
    }
    
  • To make the border look close to a UITextField, you can add the following lines.

    [textView.layer setBorderColor:[[[UIColor grayColor] colorWithAlphaComponent:0.5] CGColor]];
    [textView.layer setBorderWidth:1.0];
    textView.layer.cornerRadius = 3;
    textView.clipsToBounds = YES;
    
  • To release the keyboard by pressing 'Done'('Return') button, you can override the following protocol (UITextViewDelegate) method.

    - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
    {
         if ([text isEqualToString:@"\n"]) {
            [textView resignFirstResponder];
            return NO;
         }
         return YES;
    }
    
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文