【问题标题】:Resign First Responder on Push Segue辞去 Push Segue 的第一响应者
【发布时间】:2014-09-08 22:53:31
【问题描述】:

我有一个 push segue,想在视图之间传输数据。如果用户点击导航栏中的下一步按钮,我需要一种不同的方式来让第一响应者辞职。我有 [textField resignFirstResponder];在导航栏按钮方法中,但由于某种原因,它在下一页 viewDidLoad 之后被调用。

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:[NSString stringWithFormat:@"thridClubPage"]]) {
    thirdClubPage *nextPage = segue.destinationViewController;

    nextPage.title = self.navigationItem.title;
    nextPage.location = self.collegeString;
    nextPage.people = self.membersString;
    nextPage.leader = self.presidentString;
    nextPage.Email = self.presidentEmailString;
}
}

- (IBAction)finishPage:(id)sender {
[self.presCell.presidentEmail resignFirstResponder];
}

segue 在没有退出 textField 的情况下执行。

【问题讨论】:

    标签: ios segue


    【解决方案1】:

    一个快速的解决方案是从 IB 中的按钮中删除 segue,然后在两个视图控制器之间重新绘制它。 (换句话说,当拖出 segue 时,不要从按钮控制拖拽,从包含它的视图控制器控制拖拽)。给 segue 一个标识符,比如@"NextSegue"。

    现在您可以通过自己触发 segue 来控制发生的顺序...

    - (IBAction)finishPage:(id)sender {
        [self.presCell.presidentEmail resignFirstResponder];
        [self performSegueWithIdentifier:@"NextSegue" sender:self];
    }
    

    【讨论】:

      猜你喜欢
      • 2012-05-17
      • 2011-04-07
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多