IBOutlet не подключен в awakeFromNib

Образец кода, ссылка на который приведен здесь, отлично работает и позволяет UIScrollView отображать изображения с разбиением на страницы и предварительным просмотром изображений до и после текущего изображения:

Я пытаюсь заключить этот пример в единый элемент управления, который можно использовать повторно. Итак, я создал PagingScrollView:

@interface PagingScrollView : UIView {
    IBOutlet UIScrollView * scrollView;
}

@property (nonatomic,retain) IBOutlet UIScrollView * scrollView;

@end

с простой реализацией

- (void) awakeFromNib
{
    [super awakeFromNib];

    NSLog(@"awake from nib");
}

В PagingScrollView.xib я поместил представление, содержащее UIScrollView и ARScrollViewEnhancer, точно так же, как в исходном ScrollViewPagingExampleViewController xib. Его класс владельца файла установлен на PagingScrollView, а его выход scrollView установлен на дочерний UIScrollView.

В ScrollViewPagingExampleViewController я просто объявляю:

IBOutlet PagingScrollView   *pagingScrollView;

А в IB я перетаскиваю View, устанавливаю его класс на PagingScrollView и подключаю его выход pagingScrollView к PagingScrollView.

В awakeFromNib свойство scrollView равно нулю. Я бы подумал, что, поскольку scrollView подключен к IB в том же наконечнике, к этому моменту он будет доступен.

Как ни странно, в ScrollViewPagingExampleViewController.xib есть пустой выход с именем scrollView. Это может означать, что существует другой экземпляр PagingScrollView, отличный от того, который определен в PagingScrollView.xib.

В результате я не могу заполнить UIScrollView фактическими дочерними представлениями. Что я здесь делаю не так?

27
задан Sofi Software LLC 2 August 2011 в 02:18
поделиться