UITextView / UITextField的虚线/虚线边框
我想为我的UITextField
和UITextView
设置一个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它们。
- http://i.stack.imgur.com/X7PfM.png – >将其重命名为dot.png
- http://i.stack.imgur.com/IemhF.png – >将其重命名为dot@2x.png
- http://i.stack.imgur.com/CSjZT.png – >将其重命名为dot@3x.png
只需在UIView
或UITextField
或任何其他视图周围使用下面的代码点/虚线边框 :
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;
有关更多详细信息,请参阅此答复 。
希望,这是你要找的。 任何关心回到我身边。 🙂