有边框的UITextView

Ali*_*Ali 122 ios quartz-core

我希望周围有一个薄的灰色边框UITextView.我已经浏览了Apple文档,但在那里找不到任何属性.请帮忙.

Ken*_*ner 304

#import <QuartzCore/QuartzCore.h>

....

// typically inside of the -(void) viewDidLoad method
self.yourUITextView.layer.borderWidth = 5.0f;
self.yourUITextView.layer.borderColor = [[UIColor grayColor] CGColor];
Run Code Online (Sandbox Code Playgroud)

  • 我认为它不需要太多解释,视图是UITextView,代码可以在你设置视图的地方(awakeFromNib或viewDidLoad是两个可能的地方).由于没有给出代码,因此没有办法给出良好的背景信息. (61认同)
  • 你导入了QuartzCore吗?您也可以尝试从self.myView中取出CALayer并在其上设置borderWidth.这是可以设定的. (2认同)

use*_*584 42

为圆角添加以下内容:

self.yourUITextview.layer.cornerRadius = 8; 
Run Code Online (Sandbox Code Playgroud)


Mik*_*ill 22

这是我使用的代码,在我的TextView控件周围添加一个名为"tbComments" 的边框:

self.tbComments.layer.borderColor = [[UIColor grayColor] CGColor];
self.tbComments.layer.borderWidth = 1.0;
self.tbComments.layer.cornerRadius = 8;
Run Code Online (Sandbox Code Playgroud)

这是它的样子:

在此输入图像描述

十分简单.


Ben*_*ard 19

我添加了UIImageView作为子视图UITextView.这与a上的原生边框匹配UITextField,包括从上到下的渐变:

在此输入图像描述

textView.backgroundColor = [UIColor clearColor];
UIImageView *borderView = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, textView.frame.size.width, textView.frame.size.height)];
borderView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
UIImage *textFieldImage = [[UIImage imageNamed:@"TextField.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(15, 8, 15, 8)];
borderView.image = textFieldImage;
[textField addSubview: borderView];
[textField sendSubviewToBack: borderView];
Run Code Online (Sandbox Code Playgroud)

这些是我使用的png图像,以及jpg表示:

@ 1X

@ 2倍

在此输入图像描述

  • 随附图像效果最佳:`code` resizableImageWithCapInsets:UIEdgeInsetsMake(28,14,28,14) (3认同)

Mat*_*lly 18

效果很好,但颜色应该是a CGColor,而不是UIColor:

view.layer.borderWidth = 5.0f;
view.layer.borderColor = [[UIColor grayColor] CGColor];
Run Code Online (Sandbox Code Playgroud)

  • #import <QuartzCore/QuartzCore.h> (4认同)
  • 并将QuartzCore框架添加到您的项目中. (2认同)

Iro*_*X46 8

我相信以上答案适用于以前版本的 Swift。我用谷歌搜索了一下,下面的代码适用于 Swift 4。只是分享给任何可能受益的人。

self.textViewName.layer.borderColor = UIColor.lightGray.cgColor
self.textViewName.layer.borderWidth = 1.0
self.textViewName.layer.cornerRadius = 8
Run Code Online (Sandbox Code Playgroud)

快乐编码!