到目前为止,我已使用以下代码
更改了班级中所有按钮的图像 [[UIButton appearanceWhenContainedIn:[FirstPadViewController class], nil] setBackgroundImage:img forState:UIControlStateNormal];
因为我不想创建一个插座,这就是我用这种方式的原因。那么如何使用UIButton appearanceWhenContainedIn
我尝试了这个,但它不起作用
[[[UIButton appearanceWhenContainedIn:[FirstPadViewController class], nil] layer ] setCornerRadius:20];
[[[UIButton appearanceWhenContainedIn:[FirstPadViewController class], nil] layer ] setMasksToBounds:YES];
答案 0 :(得分:2)
基本上,你不能这样做。并且,即使它有效,它也可以随时更新,或者具有未定义的行为。
UIAppearance代理保留给声明UI_APPEARANCE_SELECTOR
的方法/属性。
查看this list,了解您可以使用UIAppearance
自定义的内容。根据它,您只能更改tintColor
。该列表不完整,但layer
(并且扩展名为cornerRadius
)不在外观选择器中。
答案 1 :(得分:-2)
在你的班级写下这段代码,它可以工作,但我不知道你可以吗
for(UIView *view in self.view.subviews)
if([view isKindOfClass:[UIButton class]]){
UIButton *btn= (UIButton *)view;
btn.layer.cornerRadius = 5;
btn.layer.borderColor = [UIColor redColor].CGColor;
btn.layer.borderWidth =5;
}