そのように初期化されたボタンがあります>
self.button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(doAction)];
後で、そのようにカスタムの背景をそれに付けています>
[self.button setBackgroundImage:[UIImage imageNamed:@"customNavBar_button_right_enabled"]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
そしてそれをnavbarに置きます。
[self.navigationItem setRightBarButtonItem:self.button
animated:NO];
この画像は固定サイズです。そのボタンに、UIEdgeInsets で「インテリジェントな」サイズ変更なしで完全にカスタムの背景画像を設定したい.サイズ変更はしたくない. しかし、何らかの理由で、インセットがアクティブであるように動作し、幅が大きくなるようにサイズ変更され、幅の広いボタンを提供するために画像のほぼ中央半分が大幅に引き伸ばされます。
なぜこうなった?どうすればこれを防ぐことができますか?