我已经将UIButton子类化为自定义的.xib文件,我试图通过initWithCoder
方法为每个状态设置按钮的标题颜色。目前,我有这个:
-(id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if(self) {
self.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
[self setTitleColor:[UIColor navigationLabelColor] forState:UIControlStateNormal];
}
return self;
}
但是,标题颜色不会改变,但边缘插入是。我做错了吗?
PS:我应该补充一点,自定义xib用于不同的元素,但该xib中有几个这个按钮的实例。
答案 0 :(得分:0)
UIButton的子类化不是直截了当的,因为UIButtonType
对于简单的子类化似乎默认为UIButtonTypeCustom
。更改框架/边界似乎工作正常,但其他一些方面则没有。
我个人已经成功地根据我的需要进行了子类化,使用了UIButtonTypeCustom
并主要添加了背景图像拉伸。
你需要找到另一种方法来满足你的需求,或者深入研究UIButton的子类化。
由于对UIButton的子类化进行了搜索,您会发现大量的信息,包括基本上没有注释的评论。请参阅此SO answer。