我在情节提要中创建了一个 UIView。请参阅此处了解更多信息。我的问题是,当用户“登录”时,我会呈现一个新视图,将其从屏幕左侧带入,主视图会滑向左侧,就像推送导航一样,但都是以编程方式进行的。
所以我决定使用以下代码为这个“导航”设置动画。view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; view.backgroundColor = [UIColor whiteColor];
//add stuff to view
[view addSubview: label];
view.frame = CGRectMake(320, 0, 0, 480);
view.clipsToBounds = YES;
[self.view addSubview:view];
//show view
[UIView animateWithDuration:.5
animations:^{
self.view.frame = CGRectMake(0,0,0,480); //move self.view off left
view.frame = CGRectMake(0, 0, 320, 480); //move new view in place
}];
我的视图已成功显示,但现有视图self.view
并没有像我想要的那样离开屏幕左侧。它移动,但它不带它的组件...当我在动画中注释掉时//view.frame - CGRectMake(0,0,320,480);
,所以我不显示新视图,我在登录时在模拟器中得到了这个。
视图的白色背景会离开屏幕,但组件不会。这会导致一个问题,因为当我将两者放在一起时,它看起来不像“新视图”正在像导航推送控制器那样替换旧视图,而是在它上面滑动。self.view
当我将这些组件移出屏幕时,有没有办法移动这些组件
谢谢您的帮助!