自定义UILabel子类设置的属性未应用到视图控制器标签如何解决
问题根因
自定义CustomizedLabel类的样式未生效,是因为Storyboard中对应的标签控件没有绑定自定义子类,系统仍默认使用原生UILabel类渲染控件。
解决步骤
- 打开对应的Storyboard文件,选中所有关联了
CustomizedLabel类型IBOutlet的标签控件 - 切换到右侧面板的「身份检查器」(Identity Inspector)
- 在Custom Class区域的
Class下拉选择框中,选中你创建的CustomizedLabel类,所有相关标签都需要按此操作修改 - 可选优化:如果后续运行时圆角没有生效,可以在
CustomizedLabel的commonInit方法中添加clipsToBounds = true,避免子内容超出遮挡圆角
修改后正确的commonInit参考代码:
func commonInit(){ layer.cornerRadius = 10 clipsToBounds = true // 新增,保证圆角生效 textColor = UIColor.green layer.borderColor = UIColor.green.cgColor layer.borderWidth = 1 }
内容的提问来源于stack exchange,提问作者harasym
相关产品推荐
相关产品推荐

