判断 UIAppearance 可以应用于哪些属性

UIAppearance 使用 proxy 的办法带来的一个主要问题是,很难知道 selector 是不是真正可以用的。

在 iOS 7 上, UIAppearance 现在返回的是 instancetype,使得代码补全可以正常工作了.

要想知道哪些方法可以应用于 UIAppearance,你得去头文件中找:

$ cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/
  Developer/SDKs/iPhoneOS*.sdk/System/Library/Frameworks/UIKit.framework/Headers
$ grep -H UI_APPEARANCE_SELECTOR ./* | sed 's/ __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0) UI_APPEARANCE_SELECTOR;//'

UIAppearance 会在方法签名中查找 UI_APPEARANCE_SELECTOR 宏。任何有这个注解的方法都可以被 appearance proxy 使用。

原文地址

你可能感兴趣的:(判断 UIAppearance 可以应用于哪些属性)