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

  • Hak5

    Hak5

    7 EYLÜL 2005
  • SignatureSeries

    SignatureSer

    24 Aralık 2006
  • TROPFEST

    TROPFEST

    27 Mart 2007