1

これまでのところ、次のコードを使用して、クラスにあるすべてのボタンの画像を変更しました

   [[UIButton appearanceWhenContainedIn:[FirstPadViewController class], nil] setBackgroundImage:img forState:UIControlStateNormal];

アウトレットを作成したくないので、この方法を使用しました。では、UIButton を使用して cornerRadius を設定するにはどうすればよいですかappearanceWhenContainedIn

私はこれを試しましたが、うまくいきません

 [[[UIButton appearanceWhenContainedIn:[FirstPadViewController class], nil] layer ] setCornerRadius:20];
 [[[UIButton appearanceWhenContainedIn:[FirstPadViewController class], nil] layer ] setMasksToBounds:YES];
4

2 に答える 2

2

基本的に、それはできません。また、機能する場合でも、更新によっていつでも壊れたり、未定義の動作が発生したりする可能性があります。

UIAppearance プロキシは、 を宣言するメソッド/プロパティに予約されていますUI_APPEARANCE_SELECTOR

このリストを見て、 でカスタマイズできるものを確認してくださいUIAppearance。それによると、 のみを変更できますtintColor。リストは完全ではありませんがlayer(ひいてはcornerRadius)、外観セレクターには含まれていません。

于 2013-08-24T09:42:11.273 に答える
-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;

        }
于 2013-08-24T09:56:13.250 に答える