【问题标题】:Displaying images on another view controller when button is clicked单击按钮时在另一个视图控制器上显示图像
【发布时间】:2017-01-01 17:02:54
【问题描述】:

我在view controller 上有3 buttons,在另一个view controller 上有collection view。我想在collection view 上显示对应的images,它对应于button clicked。如果单击按钮 A,我有按钮 A、B、C,并且喜欢在另一个视图控制器上显示图像 A1 到 A4,依此类推。我是 swift 新手,如果你能告诉我是否有办法做到这一点,我将不胜感激。

【问题讨论】:

  • 欢迎来到 Stack Overflow。尝试发布您首先尝试过的内容。公众不会想为您键入代码。展示你最终遇到的麻烦,你可能会得到好的答案。请编辑。
  • 你的图片数据是静态的吗?我的意思是你知道要显示哪些图片吗?
  • 使用通知中心。
  • @VishalSonawane,是的,按钮 A 的图像数组从 A1 到 A4,按钮 B 的图像数组从 B1 到 B4,按钮 C 的图像数组从 C1 到 C4
  • @Mr.UB 感谢您将我介绍给 NSNotification 中心并了解我需要什么才能为我的场景取得结果:)

标签: ios swift uiviewcontroller uicollectionview uistoryboard


【解决方案1】:

斯威夫特 4

首先,在每个按钮动作中添加一个通知:

NotificationCenter.default.post(name: Notification.Name("buttonAIsPressed"), object: nil)

现在在集合视图类的viewDidLoad中添加一个通知监听器,并在选择器中调用函数:

 NotificationCenter.default.addObserver(self, selector: #selector(self.YourFunctionName), name: Notification.Name("buttonAIsPressed"), object: nil)

现在,只要按下按钮,就会调用您命名的函数。

【讨论】:

    【解决方案2】:

    你需要使用闭包或者全局观察者。

    在视图中确实加载了

    weekCalendar.calendarclosure = { (calendar) in
      code
    }
    

    在函数中发送

    var calendarclosure: ((NSDate) -> ())?
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 2012-05-05
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      相关资源
      最近更新 更多