какао touch - проблема с обновлением подвидов!

У меня есть UIViewController, который содержит UIScrollView. В методе viewDidLoad первого контроллера я создаю несколько UIViewController (определенных через NIB с UILabel и UIImageView внутри, правильно связываясь с IBOutlets), затем добавляю их в UIScrollView.

Проблема в том, что я вижу свои представления и прокручиваю их с помощью прокрутки, но мне кажется, что я не могу изменить текст метки и содержимое imageView с помощью методов [[UIViewController UILabel] setText] или [[UIViewController UIImageView] setImage]

Я знаю, что это звучит как глупый вопрос, но я не могу с ним справиться. Есть идеи, почему?

Спасибо вам, ребята.


person Lorenzo    schedule 01.03.2011    source источник
comment
ViewDidLoad или viewDidLoad? Обратите внимание, что Objective-C чувствителен к регистру, и это может быть проблемой.   -  person    schedule 01.03.2011
comment
- (void) viewDidLoad {}, также остальная часть метода работает нормально ..   -  person Lorenzo    schedule 01.03.2011
comment
Исправьте свой вопрос (- ›viewDidLoad), чтобы другие люди не заметили неправильные вещи.   -  person occulus    schedule 01.03.2011


Ответы (2)


Вам нужно пометить Label и ImageView.
tag означает присвоить целочисленное значение метке и ImageView, и вы можете получить доступ с помощью тега.
Вы можете назначить теги в xib.
Затем вы можете получить доступ к представлению, например this

[someController viewWithTag:(int)];

person SNR    schedule 01.03.2011
comment
Хм, я использую один и тот же элемент управления и модель XIB для всех представлений, содержащихся в UIScrollView (генерируя их с помощью цикла, а затем добавляя через addSubView). Это означает, что у них у всех будет один и тот же тег, верно? Также я не могу понять, почему мои представления не отвечают на прямые команды, не отправляя никаких ошибок. - person Lorenzo; 01.03.2011

Думаю, я решил свою проблему. Я пытался изменить представления перед добавлением их в UIScrollView. Если я вызываю свои методы после [scrollview addSubView: myView], все работает нормально.

person Lorenzo    schedule 01.03.2011