2011-06-14 115 views
0

我在我的Ipad應用程序中有一個分割視圖控制器,其中詳細視圖具有UITableView的子視圖。 我試圖實現的功能是在按下子視圖上的按鈕(信息按鈕)時,在子視圖的相同位置獲取信息視圖。我需要通過動畫獲取此信息視圖,並且動畫是當按下信息按鈕時,單獨的子視圖將會翻轉(UIAnimationOptionFlipFromRight),並且信息視圖會顯示...動畫子視圖

這是如何嘗試實現它 -

-(void) showInfoView: (id)sender 
{ 

    infoView = [[InfoViewController alloc] initWithNibName:@"ViewViewController" bundle:nil]; 
    infoView.view.frame = CGRectMake(250, 300, 200, 200); 

    [UIView transitionWithView:self.view duration:1 
         options:UIViewAnimationOptionTransitionFlipFromRight 
        animations:^{ 
         [self.view addSubview:infoView.view]; 
        } 
        completion:nil]; 
} 

當我運行模擬器,然後按任意子視圖的信息按鈕,會發生什麼情況是,動畫完美地發生,即子視圖從右側翻轉,但沒有得到顯示InfoView中。

如果有人能告訴我我哪裏會出錯,那將會很棒。

回答

3

執行動畫屏幕上的基本步驟如下:

  1. 創建視圖。
  2. 其移動到初始(屏幕外)位置
  3. 添加到視圖層次
  4. 執行動畫。

好像你跳過步驟3和可能的步驟2

+0

感謝您的答覆。 。但我認爲[self.view addSubview:infoView.view]是我添加我的信息視圖的方式..我錯了嗎? – learner2010 2011-06-14 21:36:30

+0

是的,但是你把它放在錯誤的地方。把它放在動畫調用之前。 – Moshe 2011-06-14 21:37:02

+0

謝謝..我試過了,但似乎也沒有工作...我把[self.view addSubview:infoView.view]正下方infoView.view.frame = CGRectMake(250,300,200,200); – learner2010 2011-06-14 21:39:59

0

你嘗試子視圖框設置爲您上海華的框架,即

info.View.frame = self.view.frame;