2012-10-10 85 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

這部分代碼的接口部分不需要任何東西。 –