首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用backBarButtonItem

禁用backBarButtonItem
EN

Stack Overflow用户
提问于 2011-08-22 02:21:35
回答 2查看 3K关注 0票数 3

我尝试使用以下命令禁用导航控制器的后退按钮项:

代码语言:javascript
复制
self.navigationItem.backBarButtonItem.enabled = NO;

它似乎不适用于backButtonItem,但适用于其他栏按钮项。有没有一种方法可以暂时禁用它而不需要隐藏它?

EN

回答 2

Stack Overflow用户

发布于 2011-08-22 02:26:49

您应该改用以下代码:

代码语言:javascript
复制
self.navigationItem.hidesBackButton = YES;

希望这能行得通。

票数 16
EN

Stack Overflow用户

发布于 2012-10-05 12:15:49

在我的例子中,我不希望后退按钮完全隐藏,我只想在我的初始化例程结束时短暂地禁用它。所以这就是我最终要做的:

代码语言:javascript
复制
// in initWithNibName
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[backButton setTitle:@"Cancel" forState:UIControlStateNormal];
[backButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled];
[backButton.titleLabel setFont:[UIFont boldSystemFontOfSize:13.0f]];
[backButton setFrame:CGRectMake(0.0f, 0.0f, 68.0f, 28.0f)];
[backButton setEnabled:NO];
[backButton addTarget:self action:@selector(tappedClose) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = buttonItem;
[buttonItem release];

然后,在初始化例程完成后,我执行以下操作:

代码语言:javascript
复制
UIButton *backNavigationButton = (UIButton *)self.navigationItem.leftBarButtonItem.customView;
[backNavigationButton setEnabled:YES];

另外,稍后我计划从使用UIButtonTypeRoundedRect改为使用UIButtonTypeCustom,并提供我自己的“后退按钮风格”按钮图像。希望这能有所帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7140152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档