- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 UINavigationController.h
中,我们将属性声明为
@property(nonatomic,getter=isNavigationBarHidden) BOOL navigationBarHidden;
它明明写着它的getter是isNavigationBarHidden
但我不知道为什么我可以通过navigationBarHidden
访问到它
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.navigationController.navigationBarHidden = YES;
//Shold throw an error here but it compiles
BOOL value = self.navigationController.navigationBarHidden;
}
知道为什么会这样吗?或者我以错误的方式解释它
编辑
我在 Ry’s Objective-C Tutorial - Properties 得到了一些关于相同内容的引用
但正在寻找 apple refernces。
最佳答案
问题是您混淆了属性及其 getter 和 setter。
当您使用:self.navigationController.navigationBarHidden
时,您直接引用该属性,这意味着编译器将根据“=”的位置查看调用 getter 或 setter 的方法"标志。
但是当您使用 [self.navigationController navigationBarHidden];
时,您显式调用了名为 navigationBarHidden
的方法 这应该会引发错误,因为这样方法不存在,您必须使用实际的 getter 名称:[self.navigationController isNavigationBarHidden];
关于ios - 使用 navigationBarHidden 作为 getter 属性不会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826675/
我正在推送带有导航链接的下一个 View NavigationLink(destination: DetailsView() .navigationBarTit
大家好,我遇到了一个简单的问题。 我有一个 NavigationController,01.xib 和 02.xib。 我在 IB NavigationController 中设置为不显示导航栏。好吧
我这样调用 SearchViewController [self.navigationController pushViewController:SearchViewController animat
您好,我是 Swift IOS 编程的新手。我在函数 viewDidLoad() 中隐藏导航栏时遇到问题。 这是我的代码: self.navigationController.navigationBa
标题几乎说明了一切。我正在使用 Storyboard,当我显示我的导航栏并进入 View Controller 时,我可以使用导航栏中的“后退”按钮返回或从屏幕左侧向右滑动。 现在,当我通过将 nav
如果我设置 NavigationBarHidden = YES,我无法设置 statusBackgroundcolor。那么我该如何解决这个问题呢? enter image description h
在 UINavigationController.h 中,我们将属性声明为 @property(nonatomic,getter=isNavigationBarHidden) BOOL navigat
我正在创建一个需要包含数百个页面的 slider 的 SwiftUI 应用程序。由于没有适合我需求的第一方解决方案,我已经适配了UIPageViewController。主要用例: slider 应允
我发现了困难的方法 navigationController.navigationBarHidden = NO; 和 navigationController.navigationBar.hidden
我是一名优秀的程序员,十分优秀!