HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 在UINavigationBar中更改UIBarButtonItem的宽度大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个UIBarButtonItem并将其添加到我的导航栏,如下所示:
(void)viewDidLoad { 

   ...

   // Add the refresh button to the navigation bar
   UIButton *refreshButton = [UIButton buttonWithType:UIButtonTypeCustom];
   [refreshButton setFrame:CGRectMake(0,30,30)];
   [refreshButton setImage:[UIImage imagenamed:@"G_refresh_icon.png"] forState:UIControlStateNormal];
   [refreshButton addTarget:self action:@SELEctor(refreshData) forControlEvents:UIControlEventTouchUpInside];
   UIBarButtonItem *refreshBarButton = [[[UIBarButtonItem alloc] initWithCustomView:refreshButton] autorelease];
   self.navigationItem.leftBarButtonItem = refreshBarButton;
}

我运行时它看起来正确,但是我可以通过点击导航栏从x = 0到大约100的任意位置来选择条形按钮项.如何调整可选区域的宽度为30像素?

解决方法

达伦

您可能会虑的一种方法是通过调用initWithCustomView来创建一个UIBarButtonItem.这不是理想的,因为你没有得到“选择”的状态,你必须复合您的边框背景(如果想要的样子)与您的按钮图像,但是,您可以更直接指定一个框架为您的工具栏项.如果您使用标题而不是图片使用文字,则可能仍需要在背景图片添加作为子视图.无论如何,我现在有同样的问题,这段代码我有用:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imagenamed:@"button-image.png"]];
imageView.frame = CGRectMake(0,43,30);

UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:imageView];

self.navigationItem.leftBarButtonItem = barButtonItem;

在这是我知道限制添加到UINavigationController的navigationItem中的UIBarButtonItem的自动调整大小的唯一方法.

[EDITED]

try Maggie’s solution,which is more thorough than mine.

大佬总结

以上是大佬教程为你收集整理的ios – 在UINavigationBar中更改UIBarButtonItem的宽度全部内容,希望文章能够帮你解决ios – 在UINavigationBar中更改UIBarButtonItem的宽度所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。