2014-11-05 73 views
0

我有模擬證明的應用程序,它有一些模塊,其中一個是需要重新加載以顯示相同數據的屏幕。例如:我有問題和答案的屏幕。像下面一樣如何將多視圖添加到屏幕?

問題:bla bla bla?

項A:X

項B:Y

項目C位:Z

...

屏幕仍然是相同的,哪些地方可以改變的問題,回答內容項目A,項目B等。

而且,我正在加載信息「hardcode」。我相信還有其他更好的選擇來製作這個^^。我想使用相同的屏幕來加載功能。我如何做到這一點?我正在尋找頁面控制器,但這不是我想要的,我想用導航控制器來導航屏幕。我有一個包含答案的所有問題列表的詞典:itemA,itemB等。我可以如何在「同一屏幕」中加載此選項,並選擇next>和< previous?

回答

0

一個簡單的解決方案是創建一個UIView添加所有問題和回答相關的意見。

  1. 創建一個UIView添加的所有問題,並解答有關意見,它
  2. 創建一個/上一個UIButtons
  3. 添加和刪除上一個/上一個事件的這一觀點,並重裝內查看內容。
  4. 使用以下方法動畫看起來像一個導航下/上一

在下面的方法self.questionPaperView是一個將被動畫,它包含了所有的問題,並回答相關的意見。

注意:questionPaperView和內部視圖創建一個全局變量。因此,每次添加/刪除questionPaperView時,都不需要添加問題/答案子視圖。

- (void) removeQuestionPaper { 
    [UIView animateWithDuration:0.35f animations:^{ 
     [self.questionPaperView removeFromSuperview];      
     [self.view layoutIfNeeded]; 

    } completion:^(BOOL finished) { 
     // Call data reload method here. 
    }]; 
} 



- (void) addQuestionPaper { 

    [self.view addSubview:self.questionPaperView] 

    CATransition *animation = [CATransition animation]; 
    [animation setDuration:0.5]; 
    [animation setType:kCATransitionFade]; 
    [animation setSubtype:kCATransitionFromRight]; // For previous use kCATransitionFromLeft 
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
    [[theWindow layer] addAnimation:animation forKey:@"NextView"]; 
} 
+0

但我如何控制組件在新屏幕中的位置?我有一個方法來做到這一點,但不知道如何增加新的視圖..我的項目[這裏](https://github.com/guiltm/Simulado-PMP) – 2014-11-06 01:04:03

+1

我現在明白了,我做了它..但沒有動畫,動畫是好的; D Im只是交易視圖的內容,並使用動畫給我很好的效果,但我使用動畫[這裏](http://stackoverflow.com/questions/5435547/page-curl-on-ios),但你的答案清除了我的頭:) – 2014-11-07 04:45:11

相關問題