我添加了一个导航控件在我的应用程序中的视图之间切换。但一些视图不应该有“返回”(前一个标题)按钮。关于如何隐藏后退按钮有什么想法吗?
当前回答
在c#或Xamarin.ios中, this.NavigationItem.HidesBackButton = true;
其他回答
self.navigationItem.setHidesBackButton(true, animated: true)
对我来说,上面这些方法都不管用,没有任何视觉效果。我使用的是带有“嵌入”在导航控制器中的视图的故事板。
然后,我在代码级别添加了我的menuItems,出于某种原因,在视觉调试视图层次结构时,“backButton”是可见的,我的menuItem图标显示在不可见的“back button”下面。
我尝试了各种钩子方法中建议的设置,但没有效果。然后我尝试了一种更残酷的方法,迭代子视图,这也没有效果。
我检查了我的图标大小,似乎没有问题。 在参考了苹果人机界面指南后,我确认我的图标是正确的。(1像素在我的情况下24px 48px 72px)。
最奇怪的部分是实际的修复…
当添加BarButton项目时,给它一个至少有一个字符的标题,在我的例子中是一个空格字符。
希望这能帮助到一些人。
//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX
style:UIBarButtonItemStylePlain
target:self
action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];
[self.navigationItem setLeftBarButtonItem:leftButtonItem];
使用代码:
self.navigationItem.backBarButtonItem=nil;
隐藏返回按钮与波纹代码…
[self.navigationItem setHidesBackButton:YES animated:YES];
or
[self.navigationItem setHidesBackButton:YES];
此外,如果你有自定义UINavigationBar,然后尝试下面的代码
self.navigationItem.leftBarButtonItem = nil;
navigationItem.leftBarButtonItem = nil
navigationItem.hidesBackButton = true
如果你在didLoad或loadView中使用这个代码块,但工作不完美。İf你仔细看,你可以看到后退按钮隐藏时,你的视图加载。看起来很奇怪。
完美的解决方案是什么?
从componentView (Command + Shift + L)添加BarButtonItem组件到你的目标viewControllers导航栏。
从右侧面板选择BarButtonItem set Title = " "
推荐文章
- Xcode构建失败“架构x86_64未定义的符号”
- 如何使用Xcode创建。ipa文件?
- 动态改变UILabel的字体大小
- registerForRemoteNotificationTypes: iOS 8.0及以上版本不支持
- 相同的导航抽屉在不同的活动
- Xcode 4 -在新的Macintosh安装上的配置文件上“没有找到有效的签名标识”错误
- 新的自动引用计数机制是如何工作的?
- 如何测试对象在Objective-C中的类?
- 在iPhone上确定用户是否启用了推送通知
- 是否有可能禁用浮动头在UITableView与UITableViewStylePlain?
- 从Cocoa应用程序执行一个终端命令
- 错误ITMS-9000:“冗余二进制文件上传。火车1.0版本已经有一个二进制版本上传。
- Swift -转换为绝对值
- Swift编译器错误:“框架模块内的非模块化头”
- 从父iOS访问容器视图控制器