4
나는 uview의 이름이 subview1입니다. 특정 상황에 따라이 뷰를 하위 뷰로 추가합니다. 지금은 obserValueForKeypath 기능이 iOS : addObserver 및 superview 쿼리
-(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);
}
}
}
내가 여기서 뭔가 잘못하고 있습니까 호출되지 않습니다 다음 코드를
[subView1 addObserver:self forKeyPath:@"superview" options:NSKeyValueObservingOptionNew context:nil];
내 문제가되고있다.
.h와 .m 파일을 모두 표시 할 수 있습니까? –
사과에 따르면 : "클래스가 속성에 대한 KVO 변경 알림을 방출해야합니다." UIView가'superView'에 대한 KVO 변경 알림 (즉,'willChangeValueForKey :'및'didChangeValueForKey :'호출)을 방출하는지 확신하지 못합니다. – vakio