DRPaginatedScrollView — просмотр не отображается

#xcode #uiview #uiviewcontroller

#xcode #uiview #uiviewcontroller

Вопрос:

Довольно новичок в пользовательском интерфейсе Xcode, я пытаюсь использовать хороший и маленький модуль DRPaginatedScrollView.
Этот модуль позволяет прокручивать между несколькими представлениями.

Вот что я сделал

  • Добавлен контроллер представления в мою раскадровку
  • Создан UIViewController подкласс
  • Указал мой контроллер представления на класс
  • Вот содержимое моего класса:
 @implementation MyViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBoNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBoNil];
    if (self) {
        self.paginatedScrollView = [DRPaginatedScrollView new];
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setup];
    [self setupView];
}

- (void)setup {
    NSLog(@"Setup");
    [self.paginatedScrollView addPageWithHandler:^(UIView *pageView) {
        NSLog(@"Handler");
        UIView * square = [UIView new];
        [square setBackgroundColor:[UIColor redColor]];
        [square setFrame:CGRectMake(0, 0, 100, 100)];
        [pageView addSubview:square];
    }];
}

- (void)setupView {
    [self.view insertSubview:self.paginatedScrollView atIndex:0];
    NSLog(@"Nb pages: [%ld]", (long)[self.paginatedScrollView numberOfPages]);
}

@end
  

В моем журнале отображается только

2014-06-17 12:10:14.113 my_proj[6018:60b] Настройка
2014-06-17 12:10:14.115 my_proj[6018:60b] Количество страниц: [0]

Мой основной вид остается пустым, «Обработчик» не регистрируется, DRPaginatedScrollView считает 0 страниц.
Я что-то забыл?


Я только что понял initWithNibName , что его никогда не вызывали (я не понимаю, почему), поэтому я инициализировал paginatedScrollView from viewDidLoad , теперь он хорошо инициализирован, но по-прежнему не отображается.

Ответ №1:

Я не устанавливал DRPaginatedScrollView размер кадра:

 CGRect frameRect = self.paginatedScrollView.frame;
frameRect.size.width = self.view.frame.size.width;
frameRect.size.height = self.view.frame.size.height;
self.paginatedScrollView.frame = frameRect;