Ios iPhone-可使ViewController透明或使视图从底部滑入?

Ios iPhone-可使ViewController透明或使视图从底部滑入?,ios,xcode,animation,view,slide,Ios,Xcode,Animation,View,Slide,我正在编写一个应用程序,其中我想要一个视图/视图控制器从底部滑入 我尝试过使用“presentModalViewController”方法。问题是我需要新的viewController是透明的,有什么方法可以做到吗 我还尝试切换到背景为透明的视图,而不是使用以下代码的viewController: [UIView beginAnimations:@"SlideInFromBottom" context:nil]; [UIView setAnimationDuration:0.2]; [UIVie

我正在编写一个应用程序,其中我想要一个视图/视图控制器从底部滑入

我尝试过使用“presentModalViewController”方法。问题是我需要新的viewController是透明的,有什么方法可以做到吗

我还尝试切换到背景为透明的视图,而不是使用以下代码的viewController:

[UIView beginAnimations:@"SlideInFromBottom" context:nil];
[UIView setAnimationDuration:0.2];
[UIView setAnimationDelegate:self];
[UIView setAnimationRepeatCount:0];
[UIView setAnimationRepeatAutoreverses:NO];

if (self.interfaceOrientation == UIInterfaceOrientationPortrait) {

    ToolbarView.frame = CGRectMake(0, 44, 320, 460);
    ToolbarView.frame = CGRectMake(0, 0, 320, 460);

} else if (self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {

    ToolbarView.frame = CGRectMake(0, 44, 320, 460);
    ToolbarView.frame = CGRectMake(0, 0, 320, 460);


} else if (self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) {

    ToolbarView.frame = CGRectMake(0, 44, 480, 300);
    ToolbarView.frame = CGRectMake(0, 0, 480, 300);


} else if (self.interfaceOrientation == UIInterfaceOrientationLandscapeRight) {

    ToolbarView.frame = CGRectMake(0, 44, 480, 300);
    ToolbarView.frame = CGRectMake(0, 0, 480, 300);

} 
问题是,如果从纵向切换到横向,它不会对齐,而且每次旋转设备后切换视图时动画看起来都很糟糕,因为它需要对齐

因此,任何建议都将不胜感激:)


PS:我试图加载的视图只包含一个工具栏。

如果您想制作自己的动画,需要如下设置:

ToolbarView.frame = START POSITION
[UIView beginAnimations: ...];
ToolbarView.frame = END POSITION
[UIView commitAnimations];
换句话说,“开始”查看视图并确定起始位置;“提交”再次查看并确定最终位置

你不应该在界面定位上乱来;工具栏视图的方向将与其superview匹配,因此只需将其添加为俯视图控制器视图的子视图即可


最后,您可能希望查看UIControl的
inputView
属性。基本上,您可以创建一个自定义控件,如果它成为第一响应程序,iOS将负责从屏幕底部向上滑动inputView。(如果你想走这条路,你必须做更多的研究,因为这超出了这个问题的范围。)

使用你的代码仍然会给我同样的问题。。。当我旋转我的设备时,工具栏在屏幕之外。你应该启动一个新的一次性项目来隔离此代码。首先,在纵向模式下获取从底部向上滑动的视图。然后,看看它是否可以旋转。如果您遇到问题,发布代码和寻求帮助会更容易。就目前而言,很难判断出可能出了什么问题。