SORU
22 EKİM 2010, Cuma


UİView yeniden boyutlandırma bir olay var mı?

Bu imageviews satır ve sütunları olan bir manzara var.

Eğer bu görünüm yeniden boyutlandırıldığında, imageviews konumlarını yeniden düzenlemek lazım.

Bu görünüm yeniden boyutlandırılan alır başka bir görünüme bir alt görünümüdür.

Bir şekilde bu görünüm yeniden boyutlandırılmış algılamaya var mı?

CEVAP
22 EKİM 2010, Cuma


Uli aşağıya yorum olarak, bunu yapmak için doğru yolu layoutSubviews üzerine yaz ve imageViews düzeni var.

Nedense, layoutSubviews, bounds gözlem çalışması gerekir alt ve üzerine yapamıyorsanız, biraz yaramazlik bile. Daha da kötüsü, gözlem ile bir riski vardır - Apple KVO çalışır garanti etmez UİKit sınıf. Burada Apple Mühendisi ile tartışma okuyun: When does an associated object get released?

orijinal cevabı:

Anahtar-değer gözlem kullanabilirsiniz:

[yourView addObserver:self forKeyPath:@"bounds" options:0 context:nil];

ve uygulamak:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if (object == yourView && [keyPath isEqualToString:@"bounds"]) {
        // do your stuff, or better schedule to run later using performSelector:withObject:afterDuration:
    }
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • New Challenger - Game Reviews

    New Challeng

    20 Temmuz 2006
  • rekjavicxxx

    rekjavicxxx

    28 EKİM 2007