我有一个主视图和两个子视图,只要按下相应的“Read More”按钮就会加载。
这些按钮的编程方式相同,只是它们加载不同的视图并传递不同的数据(尽管两者的布局和功能相同)。
当第一个按钮被按下时,一切都保持正常,让新视图显示在顶部,我可以点击关闭以摆脱它。
按下第二个按钮时,顶视图出现并可以关闭,但原始视图会以某种方式向上移动并被切断。
这有点难以解释所以我创建了一个快速视频来向您展示正在发生的事情: http://screencast.com/t/Yyy8J1BSnj
如您所见,我可以点击第一个按钮,启动新视图,关闭它,一切都保持不变。当我单击第二个按钮时,新视图将启动,我可以关闭它,但原始视图会移动。
知道造成这种情况的原因是什么?
这是启动两个视图的代码:
- (IBAction)readMoreBackground:(id)sender {
NRMReadMoreBackgroundViewController *readMoreBackgroundController = [self.storyboard instantiateViewControllerWithIdentifier:@"readMoreBackgroundID"];
// Passing background text to the backgroundFullText variable for use on next view
readMoreBackgroundController.backgroundFullText = self.backgroundText.text;
[self presentViewController:readMoreBackgroundController animated:YES completion:nil];
}
- (IBAction)readMoreInscription:(id)sender {
NRMReadMoreInscriptionViewController *readMoreInscriptionController = [self.storyboard instantiateViewControllerWithIdentifier:@"readMoreInscriptionID"];
// Passing inscription text to the inscriptionTextFull variable for use on next view
readMoreInscriptionController.inscriptionTextFull = self.inscription.text;
[self presentViewController:readMoreInscriptionController animated:YES completion:nil];
}
这是在按下关闭按钮时关闭视图的代码:
- (IBAction)closereadMoreBackgroundView:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}
- (IBAction)closeReadMoreInscriptionView:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}