由于某种原因,当我为 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 http://screencast.com/t/HZRBS70OT6wt
附加信息
当我将按钮放在故事板而不是代码中时,它甚至会这样做。似乎只发生在水平翻转时。
Cause:
显然这与使用自定义字体有关。几乎就像一开始就没有正确计算宽度一样。
示例项目
在此示例项目中重现了问题 https://www.dropbox.com/s/dw3w9sbvfp14wl5/sample.zip。如果有人知道如何解决这个问题,我会很高兴。不敢相信没有人遇到过。
I don't know the reason of this behavior, but setting image inset helps to fix this.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)