【问题标题】:Set Label on view dismiss - xCode storyboard在视图关闭时设置标签 - xCode 故事板
【发布时间】:2012-02-10 05:22:01
【问题描述】:

我使用故事板序列在我的 tabbarController 上模态 UIViewController。弹出的视图控制器的目的是接受一些用户输入并将答案返回到选项卡栏视图之一上的标签(在视图控制器弹出之前选择的那个)。

在我的代码中,我将#import "viewBeforePopup.h" 添加到了poppedUpView.h 头文件中。

然后我创建一个出口

IBOutlet viewBeforePopup *view;

触发视图控制器 dismal 的按钮有这段代码与之关联


NSString *strToSet = textbox.text;

[view.label setText:strToSet];

[self dismissModalViewControllerAnimated:YES];

在故事板模式之前,这对我有用。我应该注意到情节提要包含最初加载的标签栏控制器,然后我添加了额外的 UIViewController。

视图正常消失,标签栏视图可见,但标签不变。我调试了一个经过验证的我试图分配给标签的字符串有一个值,它确实如此。除了将文本应用于标签之外,似乎一切正常。

谁能告诉我我的方法做错了什么或解释这样做的理想方法,因为这可能是错误的方法。

提前谢谢你

【问题讨论】:

    标签: iphone xcode storyboard viewcontroller


    【解决方案1】:

    猜测一下,它可能正在拍摄模态视图的快照图像并对其进行动画处理。尝试类似:

    - (void)dismissModal {
      [self dismissModalViewControllerAnimated:YES];
    }
    

    ....

      NSString *strToSet = textbox.text;
      [view.label setText:strToSet];
      [self performSelector:@selector(dismissModal) withObject:nil afterDelay:0.1];
    

    【讨论】:

    • 我做了这些更改,但它仍然没有将字符串中的文本应用到标签栏控制器视图上的标签。它仍然会正确地关闭视图
    • 嗯,奇怪。如果您将 0.1 更改为 1.0,它仍然无法正常工作吗?如果您设置标签而不调用驳回会发生什么 - 它会改变吗?
    【解决方案2】:

    您需要设置一个委托协议,该协议将允许一个视图控制器将数据写回另一个视图控制器之一。阅读理解Fundamental Design Patterns

    我已经为您搜索了一个解释如何实现委托设计模式的教程。要使其发挥作用,需要执行许多步骤。 This 教程包含所有步骤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      • 2012-01-22
      • 2012-10-12
      • 2019-03-19
      相关资源
      最近更新 更多