У меня проблема с использованием presentModalViewController для отображения UIView. В приложении у меня есть NavigationController со списком элементов. Прикосновение к ячейке вызывает первый ViewController, отвечающий только за показ фонового изображения. В методе viewDidLoad я создаю еще один ViewController с UiScrollView, отображающий некоторую информацию об элементе.
Пока все хорошо.
Теперь элемент может состоять из подэлементов, поэтому, если я нажимаю на подэлемент, я использую presentModalViewController, чтобы создать новый экземпляр первого ViewController. Моя проблема в том, что этот недавно отображаемый контроллер показывает примерно на 180 пикселей (предположительно) ниже, чем должно быть. Я думал, что это из-за относительных координат, которые я установил неправильно, но если я нажму на подэлемент с новым (более низким) контроллером, я бы ожидал, что он будет отображаться снова ниже (скажем, 360px) - относительно верхнего угла Iphone .
Во всяком случае, этого не происходит. У меня вопрос, почему новый контроллер отображается ниже, чем должно быть / я ожидаю, что это будет. Потратил на это несколько часов, поэтому любые идеи приветствуются!
Редактировать: некоторый код - это та часть, где я представляю контроллер:
ItemDetailsViewController *itemScrl= [[ItemDetailsViewController alloc] initWithNibName:@"ItemDetailsViewController" bundle:nil];
itemScrl.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:itemScrl animated:YES];
Это часть, где я создаю прокручиваемый вид:
- (void)viewDidLoad {
[super viewDidLoad];
ItemScrollController *itemScrl = [[ItemScrollController alloc] initWithNibName:@"ItemScrollController" bundle:nil];
itemScrl.title = self.title;
itemScrl.view.frame = CGRectMake(20 , 0, 280, 400);
[self.view addSubview:itemScrl.view];
}