【问题标题】:Pass data from Viewcontroller to a Label [duplicate]将数据从 Viewcontroller 传递到标签 [重复]
【发布时间】:2012-08-10 00:34:42
【问题描述】:

可能重复:
Passing Data between View Controllers

iOS 开发新手在这里..

我的主 ViewController 上有一堆按钮,我想要发生的是当用户单击其中一个按钮时,我希望它将它们带到一个带有标签的单独视图,并且我想要文本该标签将根据他们按下的按钮进行更改。

所以基本上我希望能够将数据从主 ViewController 上的按钮传递到第二个视图中的标签。

这可能有点令人困惑,我深表歉意,但我们将不胜感激。

【问题讨论】:

  • 您能否详细说明您当前的项目设置...例如,您有导航控制器吗?
  • 这个问题被问了一遍又一遍...stackoverflow.com/questions/5210535/…
  • 我刚刚注意到 segue 标签,您在问题的任何地方都没有提到故事板。见这里stackoverflow.com/questions/7937035/…
  • Daniel - 我没有导航控制器。它只是一个单一的视图应用程序。这是一个非常基本的应用程序。我在主视图上有按钮,我想要发生的是当用户单击按钮时,它将某些文本发送到位于第二个视图中的标签。

标签: objective-c ios xcode segue


【解决方案1】:

如果可能,我建议您使用故事板。然后,您可以 ctrl 从每个按钮拖动到您拖出到情节提要上的新视图控制器。这将设置一个 segue,您可以使用方法 prepareforseguie 传递您需要在新视图控制器中使用的数据。

【讨论】:

【解决方案2】:

假设您的带有按钮的视图控制器位于导航控制器中 - 大概位于根...

您要做的是,为您的每个按钮添加一个目标,在代码中,这可以使用您的 UIButton 的方法 addTarget:action:forControlEvents: 来完成

例如:

[myBtn addTarget:self action:@selector(tappedButton:) forControlEvents:UIControlEventTouchUpInside];

方法 tappedButton 将与被点击的按钮一起发送消息:

- (void)tappedButton:(UIButton*)sender{
    // exploit the button
}

在这个方法中你可以得到按钮的标题 - myBtn.titleLabel.text

然后您可以创建一个新的视图控制器(让我们保持简单,假设您有自己的 UIViewController 子类,称为 MySimpleViewController

在这个类中你有一个cameFrom属性,你可以设置按钮的标题,在MySimpleViewControllerviewDidLoad,你会得到cameFrom的属性值,这可能是方法实现。

- (void)tappedButton:(UIButton*)sender{
    MySimpleViewController *detail = [[MySimpleViewController alloc] init];
    detail.cameFrom = sender.titleLabel.text;

    [self.navigationController pushViewController:detail 
                                         animated:YES];
    [detail release];
}

所以在你的MySimpleViewController'sviewDidLoad 中,你创建一个UILabel,给文本属性的值self.cameFrom 并用addSubview: 将它添加到视图中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多