【问题标题】:How to trigger a UIViewController segue based on gesture actions in a UItableViewCell using Xcode如何使用 Xcode 基于 UItableViewCell 中的手势操作触发 UIViewController segue
【发布时间】:2015-06-24 03:53:59
【问题描述】:

我正在使用 Xcode 和 swift 语言对 iOS 应用程序进行原型设计,该应用程序在给定的 UITableViewCell 中使用不同的手势动作来启动到另一个 UIViewController 的特定 segue。

UI 仿照邮件应用程序建模,其中将平移手势识别器添加到 UITableViewCell 视图。取决于 UITableViewCell 视图是向左还是向右平移,或者在释放之前它被平移了多远,应该确定几个视图控制器中的哪一个。

我已经成功地在 UITableViewCell 中设置了平移手势识别器,通过打开 translationInView 并且动作和动画效果很好。

我计划对每个切换条件执行的操作是添加一个 performSegueWithIdentifier 来触发 4 个不同 segue 中的一个,但显然这在 UITableViewCell 中不起作用。

link to github files

非常感谢任何帮助! :D 查理

【问题讨论】:

  • 究竟是什么不起作用? performSegueWithIdentifier 是否会使应用崩溃,它什么也不做?
  • UITableViewCell 类型的文件中无法识别 performSegueWithIdentifier 方法。我现在知道这是因为 PerformSegueWithIdentifier 是一个 UIViewController 方法。但是,我仍然不确定如何在处理所有手势识别的 UITableViewCell 和能够执行 segue 的父 UIViewController 之间进行协调。
  • Xcode项目上传到github click here
  • Github 上的项目只是一个空模板。确保你推送了你在本地 git 源代码控制中所做的任何更改。

标签: ios swift uitableview uiviewcontroller segue


【解决方案1】:

你不能在 UITableViewCell 中performSegueWithIdentifier,因为它是 viewController 的方法。

所以

  1. 定义您的自定义 tableViewCell 协议
  2. 然后让你的 viewController 符合它
  3. 当你需要执行 segue 委托时需要 viewController

【讨论】:

  • 太好了,这很有帮助。但是,我不确定如何使 viewController 符合 tableViewCell。 Xcode项目上传到githublink
  • @Charlie 你似乎对可可触摸很陌生,所以找一本书并逐步学习。这种问题对你没有多大帮助
猜你喜欢
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多