【问题标题】:How to pass data from an IBAction in one UIView to a second UIView? [duplicate]如何将数据从一个 UIView 中的 IBAction 传递到第二个 UIView? [复制]
【发布时间】:2014-01-05 20:55:51
【问题描述】:

我有一个简单的 Tab Bar 应用程序,在第一个 Tab 中它有一个 UITextView 和一个 UIButton,而第二个 Tab 它只是一个 UILabel,用于显示用户在第一个 Tab 上输入的文本。

问题是,当我点击 UIButton 时,我不知道如何将用户插入的数据传递给第二个 Tab。

那么任何人都可以帮助我处理这段代码吗?

谢谢!!!

【问题讨论】:

    标签: ios objective-c uiview ios7 ibaction


    【解决方案1】:

    根据建议进行调整后,我设法用这段代码解决了这个问题:

    - (IBAction)btnSaveToWatchlist:(id)sender {
    
    [self performSegueWithIdentifier:@"MySegue" sender:sender];
    
    }
    
    
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
    if ([[segue identifier] isEqualToString:@"MySegue"]) {
    
        // Get destination view
         testVC *vc = [segue destinationViewController];
    
        // Get button tag number (or do whatever you need to do here, based on your object
        NSString *Title = self.title;
    
        // Pass the information to your destination view
        [vc setStrTitle:Title];
    }
    }
    

    【讨论】:

    • 区别很明显:我用的是IBAction方法,你的没有;您使用了我不需要的 isKindOfClass 之类的方法。但如果问题是因为您需要将您的答案标记为正确答案,请不要担心,我可以做到。
    【解决方案2】:

    UITabBarController 有一个名为viewControllers 的属性。它是一个数组,包含标签栏控制器可以表示的所有视图控制器。通过从一个视图控制器访问选项卡栏控制器,您可以访问该数组,然后您可以访问所需的视图控制器,您可以在按下第一个视图控制器的按钮时更改其文本出口。

    我不完全确定如何从其子视图控制器之一引用 UITabBarController。它可能是在创建期间设置的预先存在的属性。如果不是这样。您可以在创建期间手动为选项卡栏控制器的所有视图控制器提供对父级的引用。

    如果您需要进一步的帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多