Как прокомментировал Ули ниже, правильный способ сделать это - переопределить layoutSubviews
и разместить там imageViews.
Если по какой-то причине вы не можете создать подкласс и переопределить layoutSubviews
, наблюдение bounds
должно работать, даже если оно немного грязное. Хуже того, есть риск при наблюдении - Apple не гарантирует, что KVO работает на классах UIKit. Прочтите обсуждение с инженером Apple здесь: Когда будет выпущен связанный объект?
оригинальный ответ:
Вы можете использовать наблюдение за ключом:
[yourView addObserver:self forKeyPath:@"bounds" options:0 context:nil];
и реализовать:
- (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:
}
}