2015-03-25 4 views
3

Я использую UIPresentationController, но я не могу разобраться, как его показать, как я хочу.UIPresentationController - размер представления представления?

Я редактирование функции frameOfPresentedViewInContainerView(), и мне нужно возвращаться кадром (а CGRect), чтобы отобразить мое содержание в.

В учебнике я следовал использует CGRectInsert(self.containerView.bounds, 50, 50), что делает окно центрированное с границами привезенных в 50px. Если я вернусь self.containerView.bounds так же, как и сам, вид займет весь экран.

Я бы хотел, чтобы накладываемое представление представляло собой ширину родительского вида (так, self.containerView.bounds.width), но я хочу, чтобы высота была размером, необходимым для отображения содержимого нового вида, без сокращения чего-либо.

Я пробовал CGRect в (0,0) с шириной и высотой от self.preferredContentSize, но он не возвращает размеры, которые работают .. Что я могу сделать?

Я попытался frame = CGRect(x:0, y: self.containerView.bounds.height/2, width: self.containerView.bounds.width, height: self.containerView.bounds.height/2) только в качестве теста (но это только делает вид половины размера родительского вида), но когда я повернуть экран, вдруг новый вид почти за кадром ..

+0

Как вы это решили? – tombardey

+0

Я не верю, что когда-либо делал - думаю, я нашел совсем другое решение. – Max

ответ

0

Помимо frameOfPresentedViewInContainerView(), мне также пришлось добавить следующее, чтобы оно работало.

- (void)containerViewWillLayoutSubviews 
{ 
    self.presentedView.frame = [self frameOfPresentedViewInContainerView]; 
} 
Смежные вопросы