繁体   English   中英

快速访问容器按钮

swift access container button

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我对Swift比较陌生。 这是我的问题:我有一个UIViewController,里面有一个容器。 容器有自己的ContainerViewController。 容器是应用程序的标题,它有一个按钮。

我想根据按钮(在容器内)是否被按下,在UIViewController中设置Bool的值。

我不认为传递一个带有segue的“mainVC”会成功:没有必要制作一个segue,因为两个视图显示在同一个屏幕上。

我应该为视图及其容器提供相同的ViewControllerClass吗?

非常感谢您的宝贵时间

1 个回复

有不同的解决方案:

  1. ContainerViewControllerparentViewController (= UIViewController)上调用一个方法
  2. 使用响应链:
    • UIViewController (子类)中实现canBecomeFirstResponder() )以返回YES
    • 在父视图控制器中实现buttonPressed(sender:AnyObject) (或其他)方法
    • 从容器视图控制器中调用UIApplication.sharedApplication().sendAction("buttonPressed:", to: nil, from:self)

这将允许该方法“向上”响应者链,直到找到实现buttonPressed()方法的对象。 如果要在其他视图控制器中重用标头视图,则此解决方案非常有用。

  1. 使用委托模式。 在容器视图控制器中创建委托属性+协议,并让父vc在prepareForSegue()方法中将其自身设置为委托,该方法触发embed-segue。 这也获得了重用友好的标记。

  2. 如果您使用的是Storyboard,那么您也可以使用Unwind Segue

3 如何从Decodable(Swift)中的数组访问容器

我已经尝试过一段时间了,但是找不到解决此问题的方法: 我收到了来自Google Books API的以下示例响应: 此响应永远不会返回一个以上的项目。 (指定为参数)因此可以安全地假设项目只有一个成员/第一个成员是正确的成员。 为了代表一本书,我创建了这个结构: 现 ...

6 无法在Swift中访问自定义tableviewcell按钮属性

在我的第一个iOS应用程序上工作。 我创建了笔尖和自定义tableview单元。 该单元格具有按钮和标签。 我可以访问标签,但是由于某种原因,我无法获取按钮的属性,例如设置标题。 我只能访问以下内容: 我为什么不去 我在网上看了很多。 找不到任何东西。 任何帮助表示赞 ...

7 访问tableView didSelectRowAtIndexPath swift内部的UIBarBarItem按钮

我在viewDidLoad内创建了两个UIBarButtonItem按钮,这些按钮被分组在导航栏的右侧,这样,当满足某些条件时,一个将被启用,另一个被禁用,反之亦然。 除了识别条件并根据条件启用和禁用这些按钮外,它们均能正常工作。 checked是一个数组,用于保存didSelec ...

8 快速更改按钮元素在其容器内的x位置3

我的视图控制器底部有一个滚动器,其中包含按钮。 按钮并非始终处于活动状态,而是随着用户将其添加到收藏夹而改变。 这意味着我必须以编程方式确定按钮的x位置。 我所做的是创建了从情节提要中的视图控制器到脚本的所有按钮的插座,而我试图像这样(简化代码)访问它们: ... 问题 ...

9 如何从swift中的父视图访问容器视图子项

我有一个父viewController,它包含一个容器视图,它有一个嵌入式viewController,并且从嵌入式视图控制器它有四个自定义视图控制器(带segue)。我需要从父进程访问容器视图的子viewController需要做什么? 在迅速。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM