Seperti komentar Uli di bawah ini, cara yang tepat untuk melakukannya adalah menimpa layoutSubviewsdan mengatur tata letak imageView di sana.
Jika, karena alasan tertentu, Anda tidak dapat membuat subkelas dan menimpa layoutSubviews, observasi boundsseharusnya berhasil, bahkan saat menjadi agak kotor. Lebih buruk lagi, ada risiko dengan mengamati - Apple tidak menjamin KVO berfungsi pada kelas UIKit. Baca diskusi dengan teknisi Apple di sini: Kapan objek terkait dirilis?
jawaban asli:
Anda dapat menggunakan pengamatan nilai kunci:
[yourView addObserver:self forKeyPath:@"bounds" options:0 context:nil];
dan terapkan:
- (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:
}
}