我尝试为titleTextAttributes
实例设置UINavigationBar.appearance()
。但是XCode没有在自动完成下拉列表中列出它:
accumarray
但是我可以手动键入titleTextAttributes
并成功构建代码。这是怎么回事?
答案 0 :(得分:3)
嗯,UINavigationBar.appearance()
的班级是什么?它的UIAppearance - 不是UINavigationBar。它是代理对象,而不是实际的导航栏。所以它没有titleTextAttributes
属性。它只是将您的命令存储为调用,然后在您的应用程序中显示的任何未来实际导航栏上调用它。
因此, no UINavigationBar属性出现在UINavigationBar.appearance()
的完成中。很遗憾,但这并不是不可理解的。
编译器通过解释UINavigationBar.appearance()
来帮助您解决这个问题,就好像它 是UINavigationBar一样。但是,这是一个相对较新的功能;我记得当它没有发生时,编译器只会让你发送任何消息到外观代理(然后崩溃)。因此,似乎这个编译器功能还没有被转移到Xcode的文本完成引擎中。