Như Uli nhận xét bên dưới, cách thích hợp để làm điều đó là ghi đè layoutSubviewsvà bố trí các imageView ở đó.
Nếu vì lý do nào đó, bạn không thể phân lớp và ghi đè layoutSubviews, thì việc quan sát boundssẽ hoạt động, ngay cả khi hơi bẩn. Tệ hơn nữa, có rủi ro khi quan sát - Apple không đảm bảo KVO hoạt động trên các lớp UIKit. Đọc cuộc thảo luận với kỹ sư của Apple tại đây: Khi nào một đối tượng liên quan được phát hành?
câu trả lời ban đầu:
Bạn có thể sử dụng quan sát khóa-giá trị:
[yourView addObserver:self forKeyPath:@"bounds" options:0 context:nil];
và thực hiệ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:
}
}