Smi*_*ith 5 iphone core-graphics objective-c uilabel ios
我想做这样的事,

如何在UILabel中绘制一个看起来与此图像相似的圆圈,我只想避免使用图像.
tar*_*mes 11
我建议在UILabel上添加一个形状图层.像这样的东西:
// Create the shape layer
CAShapeLayer *circleLayer = [CAShapeLayer layer];
circleLayer.path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 50, 50)].CGPath;
circleLayer.fillColor = [UIColor clearColor].CGColor;
circleLayer.strokeColor = [UIColor whiteColor].CGColor;
circleLayer.lineWidth = 1;
// Add it do your label's layer hierarchy
[label.layer addSublayer:circleLayer];
Run Code Online (Sandbox Code Playgroud)
这将使您最大程度地控制其外观和A字体的外观.
更新:
我突然意识到你要努力让"A"垂直偏移,以便在它周围放一个圆圈.有一些hacks可以在UILabel中获得垂直居中,但是你最好还是使用UITextField,因为它支持contentVerticalAlignment属性.您只需将其userInteractionEnabled设置为NO即可防止用户在其上键入文本!
除此之外,添加CAShapeLayer的原则是相同的.
您可以通过@maddy建议的方式或实现这一目标,建立UILabel同方矩形,把文本对齐到中间和使用标签的层的cornerRadius使用borderWidth.只需设置cornerRadius标签的半宽(或高度)即可.祝好运!
| 归档时间: |
|
| 查看次数: |
8405 次 |
| 最近记录: |