Uli'nin aşağıda yorumladığı gibi, bunu yapmanın doğru yolu layoutSubviewsoradaki imageView'ları geçersiz kılmak ve yerleştirmektir.
Herhangi bir nedenle, alt sınıflara girip geçersiz kılamıyorsanız layoutSubviews, gözlem yapmak, kirliyken boundsbile işe yaramalıdır. Daha da kötüsü, gözlemlemeyle ilgili bir risk var - Apple, KVO'nun UIKit sınıflarında çalışacağını garanti etmez. Apple mühendisi ile yapılan tartışmayı buradan okuyun: İlişkili bir nesne ne zaman piyasaya sürülür?
orijinal cevap:
Anahtar / değer gözlemlemeyi kullanabilirsiniz:
[yourView addObserver:self forKeyPath:@"bounds" options:0 context:nil];
ve uygulayın:
- (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:
}
}