Uiview 嵌套视图大小调整

Uiview 嵌套视图大小调整,uiview,resize,orientation,Uiview,Resize,Orientation,我正在开发我的第一个iPad应用程序,这个应用程序和邮件应用程序一样是一个拆分视图。在细节视图中,我有两个子视图,一个子视图用于编辑数据,另一个子视图仅用于查看数据。当用户处于视图模式时,他们按下按钮,局部视图翻转以显示编辑视图 随着iPad方向的改变,我似乎无法使细节视图中的两个视图正确调整大小。当处于纵向模式时,视图的大小正确,但当更改为横向模式时,两个子视图将在底部和右侧边缘剪裁。我认为这些视图应该根据嵌套在其中的视图自动调整大小 在根视图控制器中,我有以下代码: @implementat

我正在开发我的第一个iPad应用程序,这个应用程序和邮件应用程序一样是一个拆分视图。在细节视图中,我有两个子视图,一个子视图用于编辑数据,另一个子视图仅用于查看数据。当用户处于视图模式时,他们按下按钮,局部视图翻转以显示编辑视图

随着iPad方向的改变,我似乎无法使细节视图中的两个视图正确调整大小。当处于纵向模式时,视图的大小正确,但当更改为横向模式时,两个子视图将在底部和右侧边缘剪裁。我认为这些视图应该根据嵌套在其中的视图自动调整大小

在根视图控制器中,我有以下代码:

@implementation RootViewController

@synthesize detailViewController;
@synthesize recipies= recipies;
@synthesize delegate;

#pragma mark -
#pragma mark View lifecycle

- (void)viewDidLoad {
    [super viewDidLoad];
    self.clearsSelectionOnViewWillAppear = NO;
    self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
    self.detailViewController.recipeView.autoresizingMask=  (UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth );
    self.detailViewController.isEdit= FALSE;
    self.detailViewController.editView.autoresizingMask=  (UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth );
    self.detailViewController.editView.hidden=  YES;

}
应该调整大小的子视图是recipeView和editView。我想通过设置autoresizeingMask,它们会自动调整大小。我在这里遗漏了什么,我是否需要根据方向更改时的可用空间显式设置每个视图的大小


欢迎回复!提前谢谢。

你有没有找到问题的答案。我的处境与你相似或完全相同。我在detailview中创建了一个视图,然后将索引0处的子视图插入到detailview中,但大小都错误,我无法找出原因

如果我同时添加detailview和子视图(即将detailview添加到SplitViewController视图数组),则大小是正确的,但如果我简单地将子视图插入到现有的detailview中,则大小要么在纵向中有效,要么在横向中无效(即我认为自动调整大小不起作用)。我的解决方案是在启动要插入的视图后,检查方向并强制其大小。乙二醇

if ( (self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (self.interfaceOrientation == UIInterfaceOrientationLandscapeRight) )
        {

            self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, 703, 724); 
        }
        // CHECK:   PORTRAIT
        else
        {
            self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, 768, 980); 
        }   
我的大小显然是特定于我在detailview下面的工具栏或选项卡栏,这就是为什么我有奇怪的大小

就我对iOS sdk的有限看法和理解而言,我上面的解决方案充其量只是一个黑客行为,iOS应该为我们这样做,我们一定是做错了什么