2014-09-17 4 views
1

Я создал UIScrollView в своем файле Storiesboards и правильно подключил его к атрибуту IBOutlet моего контроллера. Вот то, что это выглядит как в раскадровки:ScrollView и subviews не совпадают между кодом и раскадровки?

  • UIScrollView
    • UIView 1
    • UIView 2
    • UIView 3
    • Ограничения ...

Этот это код, который я запускаю на viewDidLoad:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSLog(@"COUNT: %d", [self.scrollView subviews].count); 
    for(UIView *v in [self.scrollView subviews]) { 
     NSLog(@"View: %@", v); 
    } 
} 

Я был, следовательно, ожидал увидеть мои 3 вида, указанные в моем журнале консоли. Тем не менее, он печатает что-то совершенно не связанный (2 UIImageViews?):

2014-09-17 13:06:33.155 Project[6333:652705] COUNT: 2 
2014-09-17 13:06:33.156 Project[6333:652705] View: <UIImageView: 0x7b094460; frame = (233 124.5; 7 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x7b0947c0>> 
2014-09-17 13:06:33.156 Project[6333:652705] View: <UIImageView: 0x7b094fb0; frame = (236.5 121; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x7b095080>> 

Я могу четко делать что-то здесь не так, но есть какой-то кэш в Interface Builder или само соединение на выходе?

+0

Это UIView или UIImageViews? Вы уверены, что они настроены правильно, как IBOutlets в Инспекторе соединений? – timpone

+0

есть UIImageView и есть scrollBars вертикальный и горизонтальный –

+0

@timpone они определенно UIViews. Я не подключаю их к контроллеру. Я только подключил свой UIScrollView к моему контроллеру, и я ожидал, что экземпляр выйдет с его subviews, но, похоже, это не так. –

ответ

0

Представления изображений - это скроллеры на краю прокрутки. Когда viewDidLoad называется иерархией представления, он еще не установлен полностью. Вместо этого переместите свой код в метод awakeFromNib (и следите за просмотром изображений - обычно не полагайтесь на subviews, сохраняйте явные ссылки на представления, к которым вы хотите получить доступ).

+0

awakeFromNib не выводит мои просмотры просмотра прокрутки (даже если он не приносит UIImageViews, теперь подсчет подсчета приходит как 0). И я действительно не хотел подключать каждый отдельный просмотр, который я хочу получить из своего кода. Может, в конце концов я не могу, но не уверен. –

+0

не может ответить на вопрос, но IBOutlets должен быть настроен viewDidLoad - правильно? – timpone

+0

Посмотрите на коллекции розетки, если вы просто хотите перечислить подпункты. Вы видите подвид на экране? – Wain

Смежные вопросы