我有一个UIViewController
,我有另一个UIView
。我想要做的是当按下一个按钮时,UIView
会出现在主UIViewController
上滑动。
我试过了:
[self.view setFrame: CGRectMake(-280.0f, 0.0f, 320.0f, 568.0f)];
[self.view addSubview:view_secondScreen];
它沿着子视图移动整个UIViewController
。任何人都可以指导我如何使第二个视图出现?我会非常感激。
答案 0 :(得分:0)
您想要做的事情听起来像UINavigationController的标准pushViewController方法。
你想做的是
[self pushViewController:viewControllerSecondScreen animated:YES];
但要实现这一点,你需要将第二个UIView包装在UIViewController
中答案 1 :(得分:0)
使用这个简单的动画留下幻灯片动画。
-(void)addLeftSlideAnimationForButton:(UIView*)yourView
{
CABasicAnimation *moveAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
moveAnimation.duration = 0.02;
moveAnimation.repeatCount=0;
moveAnimation.autoreverses=NO;
moveAnimation.fromValue= [NSValue valueWithCGPoint:CGPointMake(0.0, 0.0)];
moveAnimation.toValue=[NSValue valueWithCGPoint:CGPointMake(-280.0f, 0.0)];
[yourView.layer addAnimation:moveAnimation forKey:@"animatePosition"];
}
并通过调用此方法删除动画。
-(void)removeLeftSlideAnimationForButton:(UIView*)yourView
{
[yourView.layer removeAnimationForKey:@"animatePosition"];
}
通过..调用上述方法
//[self.view setFrame: CGRectMake(-280.0f, 0.0f, 320.0f, 568.0f)]; // comment this line
[self.view addSubview:view_secondScreen];
[self addLeftSlideAnimationForButton:view_secondScreen]
答案 2 :(得分:0)
如果要在同一个UIViewController中的两个不同的UIView中显示不同的UI组件,有几种可能的方法。
你需要为两个不同的UIViews提供2个不同的XIB文件,并选择一个按钮,将该特定的UIView添加为UIViewController的子视图,并从superview中删除早期的UIView。
我更喜欢使用UISegmentedControl。
希望这有帮助。
答案 3 :(得分:0)
基本上有两种方法可以在父视图上添加视图 1-您可以添加为您正在进行的子视图,如果是这种情况,则必须在视图中添加第二个视图时为其设置动画。 2-如果你想继续下一个活动,这个更好,意思是你可以在appdelegate中添加一个导航控制器,在你的rootviewcontroller属性中你可以设置你的视图。 然后,当您想要进入第二个视图时,可以在第一个视图上推送第二个视图。 那么告诉我你的应用程序中你想要什么样的选项?