当前位置:  开发笔记 > IOS > 正文

向UINavigationBar(iPhone)添加左键

如何解决《向UINavigationBar(iPhone)添加左键》经验,为你挑选了3个好方法。

我已经创建了一个新的基于导航的iPhone应用程序.我将它添加到RootViewController中.

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] init];
self.navigationItem.leftBarButtonItem = addButton;
self.navigationItem.leftBarButtonItem.enabled = YES;
}

但是没有左按钮显示.有什么我需要做的吗?



1> Stephen Darl..:

您没有定义按钮实际执行的操作.这是我的应用程序中的一行:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)];

cancelEdit:,选择器,在当前类(self)中,定义为:

- (void) cancelEdit: (id) sender;


它缺少自动释放,以消除现有的内存泄漏:self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit :)] autorelease];

2> Roman B...:

实际上还有另一个答案,这里没有列出,但在许多情况下可能非常有用.如果您不想使用UINavigationController,self.navigationItem则不适合您.

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageName"] style:UIBarButtonItemStyleBordered target:self action:@selector(action:)];
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Bar Title"];
navigationItem.leftBarButtonItem = barButton;
[navigationBar pushNavigationItem:navigationItem animated:NO];

在创建带有条形和按钮的轻量级UIViewController时,您可能希望这样做,但不希望导航开销.



3> 小智..:

在这个问题上:

太好了,谢谢.您在哪里可以找到各种选择器?该文件对此非常模糊.我定义了一个实例方法,并将其作为选择器,但它从未执行过.单击按钮时,我想在详细视图中滑动. - 4thSpace 2月19日16:19

我去了需要更多信息的地方,按下逃生(Esc)键.所以,在这个例子中:

...(beginning of line)... @selector(Place Cursor Here, press Esc) ...

将出现可用选择器的列表.对于Microsoft程序员来说,这就像Intellisense,但你必须用Esc(它在Visual Studio中不会自动出现).实际上,当你开始输入时,XCode会创建你想要创建的大部分内容,当你发现Tab键是你的朋友时,它确实很有用.(嗯......这是我的朋友......拥有孤独的生活)

现在,如果您需要自己的选择器,可以将标签放在那里(例如mySelector),然后在代码中进一步向下构建它:

- (IBAction)mySelector:(id)sender {
NSLog(@"You touched me THERE!");
}

另外,在标题(.h)文件中,一定要放一个对应的:

-(IBAction) mySelector:(id)sender;

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有