উলি যেমন নীচে মন্তব্য করেছেন, এটি করার যথাযথ উপায় হ'ল ওভাররাইড layoutSubviewsএবং সেখানে চিত্রটি দেখুন layout
যদি কোনও কারণে আপনি সাবক্লাস এবং ওভাররাইড করতে না পারেন তবে layoutSubviewsপর্যবেক্ষণের boundsকাজ করা উচিত, এমনকি একধরণের নোংরা হওয়ার পরেও। আরও খারাপ, পর্যবেক্ষণের সাথে ঝুঁকি রয়েছে - অ্যাপল কেভিও ইউআইকিট ক্লাসে কাজ করার গ্যারান্টি দেয় না। অ্যাপল ইঞ্জিনিয়ারের সাথে আলোচনাটি এখানে পড়ুন: কোনও সম্পর্কিত বিষয় কখন প্রকাশিত হয়?
মূল উত্তর:
আপনি কী-মান পর্যবেক্ষণ ব্যবহার করতে পারেন:
[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:
}
}