ios - UIBarButtonItem 是否支持带有自定义 View 的纵向和横向尺寸?

标签 ios uikit

我有一个 UIBarButtonItem,它只是一个图像,我想将此图像用作带有空字符串标题的栏项的背景图像。

但是宽度不正确,为了获得正确的尺寸,我制作了一个带有自定义 View 的 UIBarButtonItem,它是一个带有图像的 UIButton设置。

我遇到的问题是,在横向模式下,此自定义 View 不会调整大小以正确适应较小的导航栏。

我尝试通过允许灵活的高度来使我的按钮自动调整大小,但它保留了肖像的顶部和底部边距,现在我的按钮被压扁了。

我最初想使用带有空标题的栏项目的原因是使用外观协议(protocol)为栏指标默认和景观设置背景图像以绕过这个问题。

如何使我的 UIBarButtonItem 支持自定义 View 的纵向和横向尺寸?

我有一个专用的横向图像,所以它更小,没有变形,我想使用它。

肖像:

enter image description here

横向:

enter image description here

具有自动调整大小的横向,请注意纵向的边距导致栏按钮被夸大地挤压。

enter image description here

最佳答案

最好的答案是提供两张图片,一张用于纵向模式,另一张用于横向模式,您的代码将如下所示

UIBarButtonItem *barBtnLeft= [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"yourImg.png"] landscapeImagePhone:[UIImage imageNamed:@"yourImg_Landscape.png"]style:UIBarButtonItemStyleBordered target:self action:@selector(yourSelector:)];

我知道这篇文章很旧,但很幸运能找到正确的答案,我希望像我这样的新人能得到这个解决方案的帮助。

我应该在这里提一下,风景图像应该小 0.75f 比例。

关于ios - UIBarButtonItem 是否支持带有自定义 View 的纵向和横向尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13764355/

相关文章:

iphone - 更改 UIAlertView 的背景颜色?

ios - 在故意截断的 UITextView 上显示部分文本行

ios - 使用 Delphi XE5 在 UIView 类 [Swizzling] 中开始 Hook

iphone - UINavigationController - 在弹出 View Controller 之前运行代码

iphone - 带有 UIImage imageWithContentsOfFile 的 block 状图像

xcode - 检测弹出窗口关闭

ios - 模仿 UIAlertView 反弹?

IOS 崩溃 - 崩溃 EXC_CRASH (SIGABRT) - 错误 109

iphone - 如何隐藏uitabbarcontroller

ios - UIScrollView 内可选择的 UITableViewCells