initWithFrame и loadNibNamed не работают вместе?
Я использую Paged UIScrollView со встроенным UIPageControl, как описано на https://github.com/romaonthego/REPagedScrollView.
Код работает нормально, когда я использую
UIView *page1 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 280, self.view.frame.size.height - 40)];
page1.backgroundColor = [UIColor lightGrayColor];
[scrollView addPage:page1];
Но мне нужно использовать nib-файл для моего проекта. Я называю это так:
UIView *page1 = [[[NSBundle mainBundle] loadNibNamed:@"mySubViewController" owner:self options:nil] objectAtIndex: 0];
page1 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 280, self.view.frame.size.height - 40)];
page1.backgroundColor = [UIColor lightGrayColor];
[scrollView addPage:page1];
Это почти нормально работает, я могу вызвать представление, единственная проблема заключается в том, что представление не слушает initWithFrame:CGRectMake, оно загружается во весь экран, и я больше не вижу элемент управления страницы для навигации.
Autolayout отключен.
Может ли кто-нибудь указать мне, где я здесь не так? Что я мог сделать, чтобы решить эту проблему?
С наилучшими пожеланиями, Дэвид
1 ответ
Вы можете установить фрейм любого вида вручную с помощью метода -(void)setFrame:(CGRect)frame
UIView *page1 = [[[NSBundle mainBundle] loadNibNamed:@"mySubViewController" owner:self options:nil] objectAtIndex: 0];
page1.backgroundColor = [UIColor lightGrayColor];
page1.frame = CGRectMake(20, 20, 280, self.view.frame.size.height - 40);
[scrollView addPage:page1];