如何在肖像模式应用程序中滑动UIView?

slo*_*kar 2 iphone cocoa-touch objective-c uiview landscape-portrait

我正在开发一个仅以纵向模式运行的iPhone应用程序.这个应用程序只有视图控制器和1个接口文件(.xib).当用户点击任一工具栏/导航栏上的按钮时,我想在其他一些视图中滑动.让我们说像导航栏上的信息按钮.当我点击它时,UIView应该从底部滑入.当用户点击该视图上的完成按钮时,视图向下滑动.我已经在同一个xib中对这些视图进行了单独的uiview.我也查看了其他人的几个转换示例,但无法得到这个概念.任何人都可以给我一些指示吗?

xyd*_*dev 6

您可以通过动画重置帧

UIView *view= [[UIView alloc] initWithFrame:CGRectMake(0.0f,-100.0f,320.0f,100.0f)];

[UIView beginAnimations:nil context:nil];  
[UIView setAnimationDuration:1.0];  
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:[self view]      cache:YES];  

[view setFrame:CGRectMake(0.0f,0.0f,320.0f,100.0f)];

[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

  • 在上面的代码中,视图最初在屏幕外,因为Y坐标是-100.然后启动动画块,将视图帧更改为其最终位置(Y = 0).最后,commitAnimations启动动画,其中视图将从其原始位置动画到最终位置. (4认同)