我在使用presentModalViewController显示UIView时遇到问题。在应用程序中,我有一个带有项目列表的NavigationController。触摸单元格将调用第一个ViewController,负责仅显示背景图片。在viewDidLoad方法中,我创建了另一个ViewController,它有一个UiScrollView,显示有关该项的一些信息。
到目前一切尚好。
现在,一个item可以由子项组成,所以如果单击一个子项,就会使用presentModalViewController创建第一个ViewController的新实例。我的问题是,这个新显示的控制器比它应该显示的要低大约180px(猜测)。我想,这是因为我设置了错误的相对坐标,但如果我用新的(较低的)控制器点击一个子项,我预计它会再次显示得较低(比如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];
}发布于 2010-11-02 17:07:11
我想我的问题是,没有在parentviewController中添加导航栏,也没有告诉子视图,实际上有一个导航栏。有多种方法可以做到这一点,我想,不管怎样,在IB中,你可以勾选实际视图的Navigationbar框,因此它不应该调整任何大小。
https://stackoverflow.com/questions/2005497
复制相似问题