三面UITextView边框

时间:2014-01-19 00:35:10

标签: ios objective-c

我目前正在设计UITextView样式,使其看起来像使用以下代码的文本字段:

//To make the border look very close to a UITextField
[_smsMessage.layer setBorderColor:[[[UIColor grayColor] colorWithAlphaComponent:0.5] CGColor]];
[_smsMessage.layer setBorderWidth:0.5];

//The rounded corner part
_smsMessage.layer.cornerRadius = 5;
_smsMessage.clipsToBounds = YES;

// Make append text view match
[_smsAppend.layer setBorderColor:[[[UIColor grayColor] colorWithAlphaComponent:0.5] CGColor]];
[_smsAppend.layer setBorderWidth:0.5];

//The rounded corner part
_smsAppend.layer.cornerRadius = 5;
_smsAppend.clipsToBounds = YES;

它会在周围放置一个薄边框然后围绕边缘。

但我想做的是除了底部之外的所有边都有这个边框(因此左边,顶边和右边都有边框,底部露出来)。

我不确定如何实现这一点,有没有人有任何想法? - 我试图在网上进行研究,但我认为经验的好处将在这一方面发挥作用。

我认为我将不得不使用某种子视图(或一组子视图),任何人都可以提出建议吗?

2 个答案:

答案 0 :(得分:1)

创建9段图像并将其设置为背景,而不是摆弄边框。

答案 1 :(得分:1)

我认为没有任何内置支持。

您可以创建与视图大小相同的CAShapeLayer,然后将CGPath添加到图层。路径将是线段和弧段的组合。如果你查看如何构造一个圆角矩形,你会发现如何从线段构建一个圆弧的解释。

然后,您可以将形状图层添加为视图内容图层的子图层。