/ / iOS Откриване на поддирекциите, които се добавят към изгледа на UIViewContoller

iOS Откриване на subviews, които се добавят към изгледа на UIViewContoller - ios, objective-c, uiview, uiscrollview

имам scrollView към които се добавят и премахват персонализирани изгледив отговор на потребителското взаимодействие. Искам да се уверя, че изгледът на контейнера е винаги достатъчно голям, за да показва всички подпрофили, и би искал да открие кога е добавен или премахнат изглед. Опитах се да използвам KVO:

[self.scrollView addObserver:self forKeyPath:@"subviews" options:NSKeyValueObservingOptionNew context:nil];

Но докато нямаше грешка, observeValueForKeyPath:... Методът никога не се извиква, когато се промени броят на подвидовете. Какво трябва да използвам вместо това?

Послепис Знам, че мога да поставя изчислението на желаното contentSize собственост директно в методитедобавяне / премахване на subviews за scrollView, но поради архитектурни причини, тази опция е по-ниска от мен и аз предпочитам нещо като KVO вместо това.

Отговори:

2 за отговор № 1

"subviews" е винаги там, когато е създаден UIView, опитайте да наблюдавате "subviews.count". Или по-добър начин, използвайте следния API от UIView:

- (void)didAddSubview:(UIView *)subview

Моля, вижте: „Наблюдение на промените, свързани с изгледа“ тук.