ios - 我是否能够在 prepareForSegue 方法中更改要呈现的 View Controller 的 UI 控件

标签 ios user-interface segue

我能否在 prepareForSegue 方法中更改待呈现 View Controller 的 UI 控件?是否允许并保证工作?例如,我想更改 UILabel 的文本。

提前致谢。

最佳答案

Storyboard可以使用 prepareForSegue 方法轻松地将数据从一个场景传递到另一个场景,但您还没有访问 IBOutlet,因为它在目标 View Controller 的 viewDidLoad 之前被调用。

你可以这样做:

1) 在 (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 中,为 NSString 属性设置一个值,例如

[segue.destinationViewController setTextForLabel:@"This is a label text"];

2) 在目标 View Controller 中,您可以将此属性设置为 UILabel,例如在 viewWillAppearviewDidLoad 中:

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    self.myLabel.text = self.textForLabel;
}

关于ios - 我是否能够在 prepareForSegue 方法中更改要呈现的 View Controller 的 UI 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27311667/

相关文章:

ios - 使用标识符执行Segue :method called from didSelectRowAtIIndexPath slow to show view

ios - prepareForSegue 在 performSegue 之前调用

python - 调整QHBoxLayout的宽度

ios - 自定义栏按钮项目不执行 segue

java - 桌面应用程序的 Swing 与 JavaFx

ios - 如何创建警报,在 iOS 上使用按钮从底部滑动?

ios - 在执行 segue 之前如何显示加载指示器?

ios - 如何为单个 UIView 提供滑动动画?

ios - 如何将分隔符后的两位数字转换为字符串?

ios - 从 Swift 函数中的异步调用返回数据