我尝试为 UINavigationBar.appearance()
实例设置 titleTextAttributes
。但是 XCode 没有在自动完成下拉列表中列出它:
但是我可以手动键入 titleTextAttributes
并成功构建代码。这是怎么回事?
最佳答案
那么,UINavigationBar.appearance()
的类是什么?它是 UIAppearance — 而不是 UINavigationBar。它是一个代理 对象,而不是实际的导航栏。所以它没有 titleTextAttributes
属性。它只是将您的命令存储为调用,然后在您的应用程序中显示的任何 future 实际导航栏上调用它。
因此,没有 UINavigationBar 属性出现在 UINavigationBar.appearance()
的完成中。很可惜,但也不是不能理解。
的确,编译器通过将UINavigationBar.appearance()
解释为是 UINavigationBar 来帮助您解决这个问题。但是,这是一个相对较新的功能;我记得它没有发生的时候,编译器只会让你发送任何消息给外观代理(然后崩溃)。所以,这个编译器功能似乎没有被带到 Xcode 的文本完成引擎中。
关于ios - XCode 不显示自动完成菜单中的所有可用选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43525063/