2012-10-10 23 views
-3

如何仅动画框架即。子视图,而不是整个视图,以及如何在该子视图内添加分段控制按钮?当我点击一个按钮时,我希望子视图弹出,但子视图应该是半透明的,以便后面的父视图可见。弹出子视图

+0

你试过了什么代码?你遇到什么问题? – zachjs

+0

我在这里看到三个不同的问题。 – geraldWilliam

+0

您可以将UIView作为子视图添加到您的mainView中,并使其透明。另外添加关闭按钮将其从mainView中删除。 – kamleshwar

回答

1

采取的UIView全球,如果你想添加和删除,这也添加子视图中您的观点

 UIView *tempView=[[UIView alloc]initWithFrame:sel.view.frame]; 
     /////== Add your subviews in this tempView 
     tempView.transform = CGAffineTransformMakeScale(1.3, 1.3); 
     tempView.alpha = 0; 
     [UIView animateWithDuration:.35 animations:^{ 
      tempView.alpha = 0.94; 
      tempView.transform = CGAffineTransformMakeScale(1, 1); 
     }]; 
     tempView.frame=CGRectMake(0, 0, 320, 480); 
     [self.view addSubview:tempView]; 

更新:在您的.h文件中的UIView

先来的物体,像

UIView *tempView; 
BOOL isOpen; 
viewWillDidLoad:方法

只是定义了这个

isOpen = NO; 

和使用这个代码后

-(IBAction)btnSetting_Clicked:(id)sender 
{ 
    if (isOpen) { 
     isOpen = NO; 
     [tempView removeFromSuperview]; 
    } 
    else { 
     isOpen = YES; 
     tempView=[[UIView alloc]initWithFrame:self.view.frame]; 
     /////== Add your subviews in this tempView 
     [tempView addSubview:yourSegControl]; 
     tempView.transform = CGAffineTransformMakeScale(1.3, 1.3); 
     tempView.alpha = 0; 
     [UIView animateWithDuration:.35 animations:^{ 
      tempView.alpha = 0.94; 
      tempView.transform = CGAffineTransformMakeScale(1, 1); 
     }]; 
     tempView.frame=CGRectMake(0, 0, 320, 480); 
     [self.view addSubview:tempView]; 

    } 
} 

我希望这可以帮到你..

:)

+0

这非常有用,谢谢。但是现在我想在弹出式子视图中添加分段控制按钮,并且我还希望弹出消失,当我再次单击设置按钮时。你能给我所有这些东西的确切代码吗?这包括接口和实现部分。 –

+0

只需在您的PopUpView中添加细分控制并设置布尔值,当其开放设置为yes时isOpen = YES;当再次点击按钮时,设置为否,如isOpen = NO; ,如果我的回答对你有用,那么接受回答或者投票。:) –

0

您可以添加子视图主要查看

CGRect frame = CGRectMake(x, y, width, height); // Replacing with your dimensions 
UIView *subView = [[UIView alloc] initWithFrame:frame]; 
[self.view addSubview:subView]; 

可以透明使用它

[subView setAlpha:0.2]; 

您可以添加任何UI控件这一观点做。

希望这会帮助你。

1

首先你要YOUE subview透明:

[subview setAlpha:0.5f]; 

然后是addSubView行之前添加以下代码:

CATransition *animation = [CATransition animation]; 
[animation setType:kCATransitionMoveIn];   // you can try carious options here 
[animation setSubtype:kCATransitionFromRight]; // here too 
[animation setDuration:0.3]; 
[animation setValue:@"Throb" forKey:@"MyAnimationType"]; 
[subview.layer addAnimation:animation forKey:nil]; 
+0

你可不可以给我整个代码?如同在接口和实现部分一样。 –

+0

这部分代码的接口部分不需要任何东西。 –