【问题标题】:How do I move from one ViewController (containing a custom UIView) to another ViewController (containing a UITableView) on click?如何在单击时从一个 ViewController(包含自定义 UIView)移动到另一个 ViewController(包含 UITableView)?
【发布时间】:2016-06-06 15:06:41
【问题描述】:

注意:我了解,在 stackoverflow 上已多次提出类似问题,但我无法解决我面临的问题。所以请不要将此问题标记为“已经问过”左右。

其实我有两个 ViewController,CalendarViewController 和 FruitsListViewController。

CalendarViewController 包含 MyCalendarView(UIView 的子类)来显示日历,而 FruitsListViewController 包含 UITableView 来显示水果列表。

当我在 CalendarViewController 中单击 MyCalendarView 的某个区域时,它会提取相应的日期并打印到日志中。

问题:

我想实现,当我单击 CalendarViewController 的 MyCalendarView 的某个位置时,我被带到 FruitsListViewController。但是我无法将 segue 从 MyCalendarView 拖到 FruitsListViewController (实际上只能从 MyCalendarView 拖到其父视图,而其他地方没有)。

请指导我如何实现这一目标?

问候。

【问题讨论】:

    标签: ios swift uitableview uiview storyboard


    【解决方案1】:

    将 segue 从第一个 ViewController 拖到另一个 ViewController。

    在 ta 上,调用 performSegueWithIdentifier("yourSegueIdentifier", sender: nil) 并在 prepareForSegue 中自定义应该将哪些数据发送到另一个 ViewController。

    【讨论】:

      【解决方案2】:

      您应该从 CalendarViewController 类覆盖 prepareForSegue 并从一些 clickCertainPlaceOfTheCustomUIView() 调用 prepareForSegue(::)

      override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
              let destView = segue.destinationViewController as! FruitsListViewController
              destView.chosenFruitsArray = self.myFruitsArray
      }
      

      【讨论】:

      • 您好,感谢您的回复。 1- Xcode 无法识别 SubjectViewController,我应该写什么来代替它?顺便说一句,如果我用 FruitsListViewController 替换它,错误就会消失。 2- destView.chosenFruitsArray = self.myFruitsArray 是什么意思?
      • @FarazAhmad 对不起,你不需要在这里指定类型,我已经编辑了帖子。 destView.chosenFruitsArray = self.myFruitsArray // 这里是水果数组(FruitsListViewController 的属性),所以执行此函数后 FruitsListViewController 将从 CalendarViewController 获取数组
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 2012-11-28
      • 2014-10-18
      • 2021-02-07
      相关资源
      最近更新 更多