У меня есть приложение для iPad с контроллером раздельного просмотра.
Я хочу программно создать и добавить подпредставление к detailViewController в правом нижнем углу. Для этого я пытаюсь получить кадр detailView (приложение поддерживает автоповорот, чтобы положение не было статичным)
я делаю следующее
в viewWillAppear for detailView Я пытаюсь получить кадр и рассчитать нужную мне позицию
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
CGRect btnRect = self.view.frame;
//it always return 1024*748 width and height
//even in landscape mode
//when as i think must return 1024-321=703*748 pxls
//where is my mistake? How i can get actual frame
//dimensions for detailViewController in landscape orientation
btnRect.origin.y = btnRect.size.height - 42;
btnRect.origin.x = btnRect.size.width - 42;
btnRect.size.height = 42;
btnRect.size.width = 42;
UIButton* btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setBackgroundImage:someimage forState:UIControlStateNormal];
[[btn layer] setFrame:btnRect];
[self.view addSubview:btn];
}
Но это всегда показывает, что рамка detailView имеет размеры 1024 * 748. В ландшафтном режиме я думаю, что это должно быть 703 * 748. Что мне нужно сделать, чтобы получить реальный кадр detailView?