#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;