UITextView/UITextField的虚线/虚线边框

bru*_*h51 5 border objective-c uitextfield uitextview ios

我想为我和我设置一个虚线/虚线边框.UITextFieldUITextView

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

[self.textFieldCardTitle.layer setBorderWidth:1.0];
[self.textFieldCardTitle.layer setBorderColor:[[UIColor whiteColor] CGColor]];  
Run Code Online (Sandbox Code Playgroud)

注意:我已经有了添加UIImageView背后的想法,UITextView并设置了带有虚线边框的图像.但我不想那样解决它.

Nek*_*kto 9

例如,您可以尝试下一种方法:

1)创建代表边框的图像(例如:一个点和一个空格)

2)将图像添加到项目中.

3)设置边框(如问题中的代码)并使用模式设置颜色:

[self.textFieldCardTitle.layer setBorderWidth:6.0];
[self.textFieldCardTitle.layer setBorderColor:[[UIColor colorWithPatternImage:[UIImage imageNamed:@"dashed_white.png"]] CGColor]];
Run Code Online (Sandbox Code Playgroud)

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

  • 哇,这是一个很好的做法.谢谢.将此行添加到您的答案中,以便我将其标记为正确答案:`[self.textFieldCardTitle.layer setBorderWidth:6.0]; [self.textFieldCardTitle.layer setBorderColor:[[UIColor colorWithPatternImage:[UIImage imageNamed:@"dashed_white.png"]] CGColor]];`**请同时将方形图像写入答案,以便其他人在尝试时可以节省时间相同.** (2认同)

Mee*_*shi 6

只需使用下面的代码虚线/虚线围绕边境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;
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此答案.

希望,这是你正在寻找的.任何关注都会回复给我.:)