Форум программистов, компьютерный форум, киберфорум
Наши страницы

Свой UIView - в каком методе добавить KVO ? - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS По нажатию кнопки на View Controllere открыть Table View Controller http://www.cyberforum.ru/ios-dev/thread1189990.html
Как по нажатию кнопки на View Controllere открыть Table View Controller
Программирование iOS Один из методов верстки XIB Итак, допустим есть PSD/JPG/PNG макет. Вообщем картинка. И его надо сверстать. Как это сделать? Разберем на примере. 1) Анализ того что нужно вырезать (иконки, фоновые и прочее) http://www.cyberforum.ru/ios-dev/thread1186054.html
Как работать с самоподписанными сертификатами на симуляторе IOS? Как добавить? Программирование iOS
Есть сервак с самоподписанным сертификатом (self-signed certificate). Не могу отправлять REST запросы с IOS симулятора. В инете нашел, что сначала надо экспортировать этот сертификат из приложения...
Поддержка нескольких версий API в одном проекте Программирование iOS
Такая ситуация: есть два сервера с разными REST Api - рабочий и тестовый. К проекту в Xcode прикручен github. Как организовать проект, чтоб можно было коммитить в разные ветки для разных API? Как...
Программирование iOS Как добавить собственный UIView в нужное место? http://www.cyberforum.ru/ios-dev/thread1184609.html
Есть myView.xib, в котором один View с кнопочками. Есть класс MyUIView от IUView. В IB класс myUIView не выходит для привязки к View (почему?), но это ладно, прописал вручную. Теперь вопрос вот в...
Программирование iOS Приложение с БД на сервере, который расположен на стационарном ПК Доброго времени суток. Необходимо реализовать клиент-серверное приложение, БД будет находиться на стационарном ПК. Опыт в программировании под ios уже есть, но пришла пора пробовать нечто больше,... подробнее

Показать сообщение отдельно
aply
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 40

Свой UIView - в каком методе добавить KVO ? - Программирование iOS

28.05.2014, 11:53. Просмотров 610. Ответов 5
Метки (Все метки)

Есть CustomView,наследник UIView, с кнопкой и индикатором.
В коде другого класса использую этот вью и меняю видимость кнопки.
При этом если кнопка становится невидимой, должен появляться индикатор.

Написал такой код внутри своего UIView
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if ([object isKindOfClass:[UIButton class]]) {
        UIButton* btn = (UIButton*) object;
        if ([keyPath isEqualToString:@"hidden"]) {
            if (btn.hidden) {
                NSLog(@"Button hidden");
                self.activityIndicator.hidden=NO;
                [self.activityIndicator startAnimating];
            } else {
                [self.activityIndicator stopAnimating];
                NSLog(@"Button not hidden");
            }
        }
    }
}
В коде другого класса после инициализации своего вью пишу:
Objective-C
1
[customView.pButton addObserver:customView forKeyPath:@"hidden" options:0 context:nil];
А нельзя это перенести в код моего вью?
Если да, то в какой метод? Пробовал добавить в initWithFrame:
Objective-C
1
2
3
4
5
6
7
8
9
- (id)initWithFrame:(CGRect)frame
{
 
    self = [super initWithFrame:frame];
    if (self) {
        [self.pButton addObserver:self forKeyPath:@"hidden" options:0 context:nil];
    }
    return self;
}
но так не работает.
Есть у UIView аналог viewDidLoad ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.