4
我有一個名爲subview1的uview。根據特定情況,我將其作爲子視圖添加到其他視圖中。現在,我有以下的代碼iOS:addObserver和superview查詢
[subView1 addObserver:self forKeyPath:@"superview" options:NSKeyValueObservingOptionNew context:nil];
我的問題是obserValueForKeypath函數沒有被調用
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
if (self.subView1 == (UIView*)object) {
if ([keyPath isEqualToString:@"superview"]) {
NSLog(@"superview changed %@",change);
}
}
}
我在這裏做得不對。
你可以同時顯示.h和.m文件..? –
根據蘋果的說法: 「該類必須發出該物業的KVO變更通知。」我不確定UIView是否會爲'superview'發出KVO更改通知(即調用'willChangeValueForKey:'和'didChangeValueForKey:')。 – vakio