2010-09-20 71 views
1
-(void)CallingView2{ 

    SettingsViewController *aSettingsView = [[SettingsViewController alloc] initWithNibName:@"Settings" bundle:nil]; 

    [self setSettingsViewController:aSettingsView]; 
    [aSettingsView release]; 

    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.0]; 
    //setting the animation 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES]; 
    [self.window addSubview:[settingsViewController view]]; 
    **[[settingsViewController view] setBounds:CGRectMake(0, -30, 320, 480)];** 

    [UIView commitAnimations];} 

我已經在我提交我的動畫的代碼把恆星之間的代碼之前將其設置範圍和它的作品,它移動的看法,因爲它應該,但現在的問題是當我旋轉到視圖時,我可以看到視圖正在向下移動。 是否可以在顯示之前爲視圖設置邊界,以便用戶在每次去設置時都看不到它每次移動30px時下移30px是否有可能爲圖如圖

+0

setBounds僅影響視圖的大小。 setFrame會影響原點和大小。 – AechoLiu 2010-09-20 08:25:41

+0

它做同樣的事情。視圖加載,然後它下移到我設置的值 – Spire 2010-09-20 09:46:31

回答

1

問題是您正在設置動畫塊中的視圖邊界。在執行翻轉過程所需的時間內,視圖原點將從(0,0)到(0,-30)生成動畫。

在視圖控制器的viewDidLoad中設置視圖幾何將是一個更好的方法。

+0

,因爲我知道在加載視圖後,viewDidLoad會進行額外的設置。它在應用程序的註釋部分中是這樣說的。儘管如此,我嘗試了這一點並且它做了同樣的事情 – Spire 2010-09-20 09:47:17

+0

在動畫塊中也有addSubview,這似乎有點奇怪。這可能意味着你的viewDidLoad仍然在動畫塊中被調用。如果您在beginAnimations行之前添加了addSubview,它是否有所作爲? – Echelon 2010-09-20 11:10:12

+0

哦,男人,這是很多thanx – Spire 2010-09-20 11:50:30

相關問題