Образец кода, ссылка на который приведен здесь, отлично работает и позволяет 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 фактическими дочерними представлениями. Что я здесь делаю не так?