是否可以在显示之前为视图设置边界

时间:2010-09-20 08:00:40

标签: iphone setbounds

-(void)CallingView2{

    SettingsViewController *aSettingsView = [[SettingsViewController alloc] initWithNibName:@"Settings" bundle:nil];

    [self setSettingsViewController:aSettingsView];
    [aSettingsView release];

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.0];
    //setting the animation
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES];
    [self.window addSubview:[settingsViewController view]];
    **[[settingsViewController view] setBounds:CGRectMake(0, -30, 320, 480)];**

    [UIView commitAnimations];}

我已经将代码放在我提交动画的代码中的星星之间并且它可以工作,它会移动视图,但现在问题是当我旋转到视图时我可以看到视图何时移动下。 是否可以在显示之前为视图设置边界,这样用户每次进入设置时都无法看到它向下移动30px

1 个答案:

答案 0 :(得分:1)

您的问题是您正在动画块中设置视图边界。视图原点将在执行翻转过渡所需的时间内从(0,0)动画到(0,-30)。

在视图控制器的viewDidLoad中设置视图几何体是一种更好的方法。