setImage:forState 不适用于 UIButton 的子类
Posted
技术标签:
【中文标题】setImage:forState 不适用于 UIButton 的子类【英文标题】:setImage:forState does not work for subclass of UIButton 【发布时间】:2017-03-23 13:36:11 【问题描述】:我创建了一个继承自 UIButton 的类 RadioButton ,并重写了方法 layoutSubViews ,其中重置了 self.imageView 和 self.titleLabel 的框架,当我调用 RadioButton 实例的方法 setImage:forState: 时,它不起作用,但是方法 radioButton.imageView.image = [UIImage imageNamed:@""] 工作。这是一个有趣的问题,如果有人知道原因并分享原因,我将不胜感激。
【问题讨论】:
你能显示代码吗 你必须展示你的一些代码。我认为... 【参考方案1】:当我们为按钮设置标题、图片时,我们需要使用下面的代码
对于按钮
[button setTitle:@"Your Title" forState:UIControlStateNormal];
图片
[button setImage:[UIImage imageNamed:@"Your Image Name"] forState:UIControlStateNormal];
why should not we use titleLabel
不要使用标签对象来设置文本颜色或阴影颜色。 相反,使用 setTitleColor:forState: 和 setTitleShadowColor:forState: 这个类的方法来制作那些 变化。
即使按钮没有,titleLabel 属性也会返回一个值 尚未显示。系统的属性值为 nil 按钮。
why should we use setTitle
使用此方法设置按钮的标题。你的标题 指定从按钮的关联标签派生其格式 目的。如果您同时为 按钮,该按钮更喜欢使用属性标题而不是这个 一个。
至少,您应该设置正常状态的值。如果一个 没有为状态指定标题,默认行为是使用 与 UIControlStateNormal 状态关联的标题。如果值为 UIControlStateNormal 未设置,则该属性默认为 系统价值。
For Image
【讨论】:
谢谢你。实际上,我使用 setImage:forState 方法为 UIButton 子类的对象设置图像,但它没有效果。以上是关于setImage:forState 不适用于 UIButton 的子类的主要内容,如果未能解决你的问题,请参考以下文章
inputProps= readOnly: true 不适用于 Material UI 自动完成