1

外観メソッド(> iOS 5.0)を使用してUIBarButtonItemをカスタマイズしようとしています。UIControlStateNormalでは正常に機能しますが、強調表示または無効化では機能しません。画像を見る

デフォルトの状態でOK、右側の無効な状態に注意してください

ハイライトされた状態も機能していません

これらを設定するために使用するコードは次のとおりです。

        // now configure the UIBarButtonItems
    UIImage *buttonBGInactive = [[UIImage imageNamed:@"button-navbar-30-inactive.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];
    UIImage *buttonBGActive = [[UIImage imageNamed:@"button-navbar-30-pressed.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];

    [[UIBarButtonItem appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage: buttonBGInactive forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    [[UIBarButtonItem appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage: buttonBGActive forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];

何か案は?画像自体は30x30pxで、横向きモードは必要ありません。

4

1 に答える 1

2

問題の解決策を見つけました。私の画像は 30x30px で、サイズ変更可能なエンドキャップを

UIEdgeInsetsMake(0, 15, 0, 15)

それらの 15 を 14 に設定することで、問題は解消されました。そのため、エンドキャップを画像幅のちょうど半分にしないことが最善です。

于 2012-09-06T13:59:32.377 に答える