iOS怎么创建圆角UILabel,最好带阴影的

iOS里怎么创建一个圆角的UILable,我现在都是用一个背景图片的。。。觉得有点二
阴影是在背后贴了一个图片
有没有什么办法可以直接在一个UILabel的对象上干这两件事

阅读 38.4k
4 个回答

背景图片其实是一个不错的解决方案。你可以把背景图片设置成那种自动扩展的方式resizableImageWithCapInsets 。

当然你可以通过 label.layer.cornerRadius来设置圆角
设置layer的shadow相关属性是对layer的subLayer起作用

使用Quartz直接渲染的圆角控件放在能拖动的视图上(对帧数要求高的),会明显掉帧。用圆角图案才是王道

你可以这样使用:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 60, 30)];
label.backgroundColor = [UIColor blueColor];
// 设置圆角
label.layer.cornerRadius = 10;
[self.view addSubview:label];

当然前提是需要导入QuartzCore框架,并且要导入到你要使用的实现文件中。
PS:UIView分为两部分,一部分来相应屏幕操作,也是他的父类,UIResponder,另一部分为CALayer,是用来控制View显示的。
如果想在显示上面做手脚,可以直接控制他的CALayer对象。

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 36)];
label.layer.borderWidth  = 1.0f;
label.layer.borderColor  = [UIColor darkGrayColor].CGColor;
label.layer.cornerRadius = 5.0f;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏