Образец кода, связанный здесь, отлично работает и позволяет UIScrollView отображать изображения с пейджингом и предварительным просмотром изображений до и после текущего изображения:
- http://blog.proculo.de/archives/180-Paging-enabled-UIScrollView-With-Previews.html
- https://github.com/alexrepty/Paging-Enabled-UIScrollView-With-Previews
Я пытаюсь инкапсулировать пример в один элемент управления, который можно использовать повторно. Поэтому я создал 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. Его класс File Owner установлен в PagingScrollView, а его sprollView - дочерний UIScrollView.
В ScrollViewPagingExampleViewController я просто объявляю:
IBOutlet PagingScrollView *pagingScrollView;
И в IB я перетаскиваю View, устанавливаю его класс в PagingScrollView и подключаю его вывод pagingScrollView к PagingScrollView.
В awakeFromNib свойство scrollView равно нулю. Я бы подумал, что, поскольку scrollView подключен к IB в одном и том же элементе, он будет доступен к этой точке.
Смутно, в ScrollViewPagingExampleViewController.xib есть пустая розетка с именем scrollView. Это может указывать на то, что существует другой экземпляр PagingScrollView, чем тот, который определен в PagingScrollView.xib.
В результате я не могу заполнить UIScrollView фактическими дочерними представлениями. Что я здесь делаю неправильно?