SORU
2 ŞUBAT 2011, ÇARŞAMBA


Kullanım Anahtar Değer bir UİView'in üzerinde KVO geri almak için Gözlem çerçevesi

UIViewbir değişiklik'frame, bounds center s özelliği. izlemek istiyorum Nasıl Anahtar-Değer elde etmek için Gözlem kullanabilir miyim?

CEVAP
2 ŞUBAT 2011, ÇARŞAMBA


EDİTBu çözüm tam yeterli olduğunu düşünmüyorum. Bu cevap tarihi nedenlerden tutulur. Bakın benimyeni cevapburada: http://stackoverflow.com/a/19687115/202451


"Öz" thise durumda bir UİViewController. çerçeve özelliği. KVO yapmalısın

gözlemci (genellikle viewDidLoad içinde yapılır) eklemek için:

[self addObserver:self forKeyPath:@"view.frame" options:NSKeyValueObservingOptionOld context:NULL];

gözlemci (genellikle dealloc veya viewDidDisappear: yapılan) çıkarma:

[self removeObserver:self forKeyPath:@"view.frame"];

Değişiklik hakkında bilgi almak

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if([keyPath isEqualToString:@"view.frame"]) {
        CGRect oldFrame = CGRectNull;
        CGRect newFrame = CGRectNull;
        if([change objectForKey:@"old"] != [NSNull null]) {
            oldFrame = [[change objectForKey:@"old"] CGRectValue];
        }
        if([object valueForKeyPath:keyPath] != [NSNull null]) {
            newFrame = [[object valueForKeyPath:keyPath] CGRectValue];
        }
    }
}

 

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • Fuse

    Fuse

    21 Kasım 2005
  • Thom Hall

    Thom Hall

    24 Kasım 2006