大佬教程收集整理的这篇文章主要介绍了iphone – 如何创建像UIAppearance这样的代理协议,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么我想这样做?因为我已经有很多UI类,我想集中实现@L_607_2@的改变颜色.
也许是一个奇怪的问题,但我的好奇心驱使我到了这一步.
谢谢
@implementation MyClass + (MyProxyObject *)proxy { static MyProxyObject *sharedProxy = nil; if (sharedProxy == nil) { sharedProxy = [[MyProxyObject alloc] init]; } return sharedProxy; } @end
然后,对于您班级的任何财产,例如textColor,让你的类使用[[self class] proxy] .textColor中的值,而不是存储自己的值.例如.
@interface MyClass : UIView @property (nonatomic,strong) textColor @end @implementation MyClass - (UIColor *)textColor { return textColor ?: [[self class] proxy].textColor } @end
如果您需要在代理上的属性发生更改时立即刷新屏幕视图,则可以通过让代理在其textColor setter方法中广播Nsnotification,让所有实例观察该通知并调用setNeedsDisplay来实现.当他们收到它.
以上是大佬教程为你收集整理的iphone – 如何创建像UIAppearance这样的代理协议全部内容,希望文章能够帮你解决iphone – 如何创建像UIAppearance这样的代理协议所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。