键值编码UIView';斯瓦尔斯
我感兴趣的是在UIView发生更改时运行一些方法,无论是通过帧更改还是仿射变换。我的最佳想法是通过观察以下各项的值变化来实现:键值编码UIView';斯瓦尔斯,uiview,calayer,key-value-observing,key-value-coding,Uiview,Calayer,Key Value Observing,Key Value Coding,我感兴趣的是在UIView发生更改时运行一些方法,无论是通过帧更改还是仿射变换。我的最佳想法是通过观察以下各项的值变化来实现: myView.frame和myView.transform 但是,UIViews的视图部分不是关键值。幸运的是,CALayer是视图的模型部分。所以我喜欢: [self.layer addObserver:self forKeyPath:@"transform" options:(NSKeyValueObservingOptionNew) context:NU
myView.frame
和myView.transform
但是,UIViews的视图部分不是关键值。幸运的是,CALayer是视图的模型部分。所以我喜欢:
[self.layer addObserver:self forKeyPath:@"transform"
options:(NSKeyValueObservingOptionNew) context:NULL];
在viewDidLoad中:视图的一部分。我对“帧”键也做了同样的操作。但是,当视图发生更改时,无论是通过在其超级视图中移动视图,还是通过仿射变换,该方法:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context {
从来没有人打过电话。有什么好处?有没有更好的方法来观察UIView框架和转换中的更改?我认为KVC合规性并不意味着KVO合规性。我想我了解到,出于性能考虑,KVO不适用于CALayer属性