UITextView / UITextField的虚线/虚线边框

我想为我的UITextFieldUITextView设置一个Dotted / Dashed边框

我怎样才能做到这一点? 我知道,我可以设置边界这一行代码:

 [self.textFieldCardTitle.layer setBorderWidth:1.0]; [self.textFieldCardTitle.layer setBorderColor:[[UIColor whiteColor] CGColor]]; 

注意:我已经有了在UITextView后面添加UIImageView的想法,并设置了一个带有虚线边框的图像。 但我不想这样解决。

例如,你可以尝试下面的方法:

1)创build将代表您的边界的图像(例如:一个点和空格)

2)添加图像到项目。

3)设置边界(如在您的问题中的代码)并设置颜色与模式:

 [self.textFieldCardTitle.layer setBorderWidth:6.0]; [self.textFieldCardTitle.layer setBorderColor:[[UIColor colorWithPatternImage:[UIImage imageNamed:@"dashed_white.png"]] CGColor]]; 

当边框沿着四边(左,右,底部,顶部)绘制时,应该使用方形图像:例如,中间的像素是黑色的,而其周围的像素是透明的。 因此,该图像的副本将放置在视图周围。

这是我用Swift做的:

 self.textFieldCardTitle.layer.borderWidth = 3 self.textFieldCardTitle.layer.borderColor = (UIColor(patternImage: UIImage(named: "dot")!)).CGColor 

免费奖金,我附上下面的图片。 除非StackOverflow改变它的背景,否则你可能不会看到它们,因为它们是白色背景上的白色方块,所以你也可以在下面find它们。

点点@ 2倍点@ 3倍

只需UIViewUITextField或任何其他视图周围使用下面的代码点/虚线边框

 CAShapeLayer * _border = [CAShapeLayer layer]; _border.strokeColor = [UIColor redColor].CGColor; _border.fillColor = nil; _border.lineDashPattern = @[@4, @2]; [YOURVIEW.layer addSublayer:_border]; //for a square effect _border.path = [UIBezierPath bezierPathWithRect:YOURVIEW.bounds].CGPath; //for a rounded effect //_border.path = [UIBezierPath bezierPathWithRoundedRect:YOURVIEW.bounds cornerRadius:txtUserName.frame.size.height / 2].CGPath; _border.frame = YOURVIEW.bounds; 

有关更多详细信息,请参阅此答复 。

希望,这是你要找的。 任何关心回到我身边。 🙂