Я добавил представление прокрутки в раскадровке и установил его свойства автомакета в раскадровке. Так что, очевидно, на разных iPhone он принимает разные размеры, чего я и хочу. Теперь я хочу добавить два подпредставления в представление прокрутки, каждое из которых занимает всю видимую область представления прокрутки, а пейджинг включен. Таким образом, в любой момент времени видно одно из подпредставлений, и вы можете провести пальцем влево или вправо, чтобы увидеть другое подпредставление.
Моя проблема в том, что, поскольку я создаю эти два представления в программе, я не уверен, где я должен устанавливать кадры подвидов. Это то, что я делаю сейчас, в viewDidLayoutSubviews, но в идеале я хотел бы сделать это в viewDidload, но в viewDidLoad рамка еще не установлена:
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (nonatomic, strong) UIView *pageOne;
@property (nonatomic, strong) UIView *pageTwo;
@end
- (void) viewDidLayoutSubviews
{
self.scrollView.pagingEnabled = YES;
self.pageOne = [[UIView alloc] initWithFrame: CGRectMake(0, 0, self.scrollView.bounds.size.width, self.scrollView.bounds.size.height)];
self.pageOne.backgroundColor = [UIColor redColor];
[self.scrollView addSubview:self.pageOne];
self.pageTwo = [[UIView alloc] initWithFrame: CGRectMake(self.scrollView.bounds.size.width, 0, self.scrollView.bounds.size.width, self.scrollView.bounds.size.height)];
self.pageTwo.backgroundColor = [UIColor blueColor];
[self.scrollView addSubview:self.pageTwo];
self.statsScrollView.contentSize = CGSizeMake(self.scrollView.bounds.size.width * 2, self.scrollView.bounds.size.height);
}
Итак, мой вопрос: если представления, которые я создаю в программе (pageOne и pageTwo выше), относятся к кадру представления, установленного в раскадровке с автоматическим макетом для их размеров, где я должен установить код. Я знаю, что у моего кода есть проблема с многократным выполнением, а это не то, чего я хочу.