模态视图控制器不在中心显示

时间:2014-07-07 12:51:02

标签: objective-c ipad modalviewcontroller

![我正在开发一个ipad应用程序,我必须将表格视图显示为表单,当我单击表格中的单元格时,表格应调整大小] [1]

我写了这段代码

-(void)viewWillAppear:(BOOL)animated
{
 self.view.superview.bounds = CGRectMake(0, 0, 290, 620);
}

当单击一个单元格时,我在索引路径中的选择行中写了self.view.superview.bounds = CGRectMake(0, 0, 600, 620); ....这两次表单都没有显示在中心。我哪里错了。是否有任何其他方法来实现此行为

2 个答案:

答案 0 :(得分:2)

在iOS 7中您无法再调整模态显示的视图控制器的大小。

您想使用UIModalPresentationStyleCustom模式,然后使用iOS 7 +中提供的新API提供您自己的自定义转换

有关详细信息,请参阅以下链接:

http://www.objc.io/issue-5/view-controller-transitions.html
http://www.teehanlax.com/blog/custom-uiviewcontroller-transitions/
http://objectivetoast.com/2014/03/17/custom-transitions-on-ios/

答案 1 :(得分:1)

您能提供更多详情吗?基本上,您的表单视图似乎需要正确设置AutoResizingMasks(示例):

UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth

即:

self.yourContainerView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;

此外,将表单视图中心设置为查看中心也会有所帮助:

<强> yourformView.center = self.view.superview.center;

这也会使您的表单位置处于中心位置(水平和垂直两者)。

希望这可能有所帮助,不确定您的具体情况,但如果上述答案没有帮助,更多细节可能会有所帮助。