如果使用transitionfromview,则自动调整不起作用

时间:2011-04-22 06:35:06

标签: iphone ios4 ipad

我正在使用ipad splitviewcontroller的detailview部分。

我在这里使用以下代码交换视图

        if ([[[self.view subviews] objectAtIndex:0] tag] != 1){
        [[[self.view subviews] objectAtIndex:0] removeFromSuperview];
        dvCases = [[DVCases alloc] initWithNibName:@"DVCases" bundle:nil];
        [dvCases setDelegate:self];
        [dvCases setCase:nsManagedObject];
        [self.view insertSubview:dvCases.view atIndex:0];

这样可以正常工作并自动化。

但是如果我使用这个

        if ([[[self.view subviews] objectAtIndex:0] tag] != 1){
        dvCases = [[DVCases alloc] initWithNibName:@"DVCases" bundle:nil];
        [dvCases setDelegate:self];
        [dvCases setCase:nsManagedObject];

        [UIView transitionFromView:[[self.view subviews] objectAtIndex:0]
                            toView:dvCases.view duration:1.0
                           options:UIViewAnimationOptionTransitionFlipFromLeft + UIViewAnimationOptionShowHideTransitionViews
                        completion:nil];

        [self.view insertSubview:dvCases.view atIndex:0];

现在它没有自动调整大小。但是它认为它有,例如,如果我在肖像模式下使用它,那么整个视图太短,如果我然后将其旋转到横向,则高度变得更短。

修改 也许如果我的问题太难或模糊,或者我没有正确输入。

我一直在玩几乎所有东西,现在我认为上面的2功能相同。对我来说两者都是错误的。

上述视图作为子视图添加到我称之为viewmaster的工作方面做了什么工作。此视图主数据作为视图添加到splitview控制器。即splview数组,只能有2个视图。

因此我有Splitview> viewmaster> view(仅当使用insertsubview更改此视图时,视图大小不起作用)。但如果我再次将视图管理员放入其中,那么一切都正确。任何人都可以帮我解决我的尺寸或自动装置或不合适的地方吗?

2 个答案:

答案 0 :(得分:1)

这是一个老问题。对我来说问题在于我的超级视野的大小。

答案 1 :(得分:-1)

UIViewAnimationOptionShowHideTransitionViews | UIViewAnimationOptionLayoutSubviews添加到动画选项中。