出于某种原因,当我为 uibarbutton 项目设置自定义背景图像时:
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
附加信息
当我将按钮放在故事板而不是代码中时,它甚至会这样做。似乎只发生在水平翻转上。
原因:
显然它与使用自定义字体有关。几乎就像它一开始没有计算宽度一样。
示例项目
在此示例项目中重新创建了问题。如果有人知道如何解决这个问题会很高兴。不敢相信没有人遇到过。