出於某種原因,當我設置爲uibarbutton項目自定義背景圖片後的UIBarButtonItem自定義背景外觀「跳」:翻動過渡
UIImage *button30 = [[UIImage imageNamed:@"nav_bar_button_orange.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
[[UIBarButtonItem appearance] setBackgroundImage:button30 forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
我的按鈕是「跳躍」或更新它的寬度(或者更準確的在文本的每一邊填充)水平翻轉。
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStylePlain handler:^(id sender) {
[self dismissViewControllerAnimated:YES completion:nil];
}];
忽略處理程序位,我正在使用BlocksKit。
你可以看到它發生在這裏:http://screencast.com/t/HZRBS70OT6wt
附加信息
它甚至做到這一點的時候,我把故事板的,而不是代碼到位的按鈕。似乎只發生在水平翻轉。
原因:
顯然它是與使用自定義字體。幾乎就像它一開始沒有計算寬度。
示例項目
Recreated the problem in this sample project。如果有人知道如何解決這個問題,會很樂意。不能相信沒有人遇到它。
你在哪裏運行self.navigationItem.leftBarButtonItem代碼,在viewDidLoad中? – 2013-03-07 02:02:02
@PatrickTescher是在viewDidLoad中。 – 2013-03-07 03:12:14
它幾乎看起來像它在後退按鈕和常規按鈕之間切換。也許嘗試seding setBackgroundVerticalPositionAdjustment:forBarMetrics: – 2013-03-07 18:30:44