ios - 如何将自定义项目添加到导航栏

标签 ios cocoa-touch uibarbuttonitem

我已经用不同类型的代码奋斗了几个小时,以将自定义项目添加到我的导航栏。不幸的是它失败了,并且没有调试错误。现在我只能更改栏的标题。

代码添加到特定ViewController的viewDidLoad方法中:

UIBarButtonItem *gotoNext = [[UIBarButtonItem alloc] initWithTitle:@"Goto next" style:UIBarButtonItemStylePlain target:self action:@selector(gotoNextAction)];

self.navigationItem.rightBarButtonItem = gotoNext;

我尝试了以下代码,但不幸的是没有任何运气:

UIView* container = [[UIView alloc] init];
UIButton * button = [[UIButton alloc] init];

[button setTitle:@"Test" forState:UIControlStateNormal];

[container addSubview:button];

UIBarButtonItem* item = [[UIBarButtonItem alloc] initWithCustomView:container];

self.navigationItem.rightBarButtonItem = item;

最佳答案

我发现您的代码唯一的问题是选择器名称末尾缺少冒号。它应该是:

UIBarButtonItem *gotoNext = [[UIBarButtonItem alloc] initWithTitle:@"Goto next" style:UIBarButtonItemStylePlain target:self action:@selector(gotoNextAction:)];

关于ios - 如何将自定义项目添加到导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10543473/

相关文章:

ios - 如何在MonoTouch中支持多种分辨率

ios - Swift Playground 协议(protocol)在固定迭代次数后崩溃

ios - 如何在顶部状态栏中显示加载指示器

iphone - 如何查找 Core Data 持久存储的大小以及文件系统上的可用空间?

objective-c - NSArray 和 bool 值

ios - 以编程方式快速按下 UIBarButtonItem?

ios - Retina iOS 设备不显示@2X 图像,它显示 1X 图像

objective-c - NSSearchPathForDirectoriesInDomains 根据环境返回不同的结果

ios - 我希望将导航栏中的栏按钮项放置在导航栏的最角落

ios - Xcode 6.1 消失的 UI 元素