iOS 11 UINavigationBar的顶级项检查
我正在使用此控件访问导航栏及其项iOS 11 UINavigationBar的顶级项检查,ios,objective-c,ios11,xcode9,Ios,Objective C,Ios11,Xcode9,我正在使用此控件访问导航栏及其项 if ([self.searchBar.superview isKindOfClass:[UINavigationBar class]]) { navigationItem = ((UINavigationBar *) self.searchBar.superview).topItem; } 但当我使用iOS11模拟器和xCode 9时,它就不起作用了 如果我使用较低版本的模拟器(如iOS 8.2)进行调试并打印 po self.searc
if ([self.searchBar.superview isKindOfClass:[UINavigationBar class]]) {
navigationItem = ((UINavigationBar *) self.searchBar.superview).topItem;
}
但当我使用iOS11模拟器和xCode 9时,它就不起作用了
如果我使用较低版本的模拟器(如iOS 8.2)进行调试并打印
po self.searchBar.superView
它打印“UINavigationBar”,但当我在iOS 11上执行相同操作时,它打印“UINavigationBarContentView”
我应该如何更改iOS 11的代码?您可以尝试此代码
if (@available (iOS 11.0, *)) {
if ([self.searchBar.superview isKindOfClass:[UINavigationBar class]]) {
navigationItem = ((UINavigationBar *) self.searchBar.superview).topItem;
}
} else {
if ([self.searchBar.superview.superview isKindOfClass:[UINavigationBar class]]) {
navigationItem = ((UINavigationBar *) self.searchBar.superview.superview).topItem;
}
}
您可以使用以下代码。
可能你们并没有在下面的行中添加,那个么你们应该得到“无”的响应。
navigationItem.searchController=searchController
iOS 11中navigationItem上有一个新的searchController属性。
iOS 11是让我们从大标题开始。几乎所有项目都包含导航控制器。要在此控制器的导航栏中设置大标题,应将新属性PrefersLangerTitles设置为true
像这样使用
例如,可以将以下行添加到视图控制器的viewDidLoad函数中:
Swift代码:-
self.navigationController?.navigationBar.prefersLargeTitles = true
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
} else {
// Fallback on earlier versions
navigationItem.titleView = searchController?.searchBar
}
目标C代码:-
self.navigationController.navigationBar.prefersLargeTitles = YES;
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController;
} else {
// Fallback on earlier versions
navigationItem.titleView = searchController.searchBar;
}
谢谢,但正如我所说的“self.searchBar.superview”是iOS 11上的UINavigationBarContentView,所以“如果([self.searchBar.superview是类:[UINavigationBar class]])控件返回nil,我也认为“如果(@available(iOS 11.0,*){}”是检查版本的更好方法:)同意我的朋友:)。我会根据你的建议编辑我的答案,供其他需要的人参考。