2014-11-05 69 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

相关问题