据我了解,可以通过编程方式或使用 Nib 在 Storyboard中创建自定义 UITableViewCell
。我还理解,任何与 UI 无关的逻辑都应该位于 Controller 中,以遵循 MVC( Model View Controller )规则。
就我而言,我有一个 UITableViewCell
,它显示用户信息,例如个人资料图片和用户名。点击用户名会执行 IBAction
并将用户带到相应的个人资料 View 。我在执行服务器 API 请求的单元格中还有一个关注和取消关注 UIButton
。为了在创建单元格时遵守 MVC 规则,我向 IButton
添加了一个目标,并在包含的 UIViewController
中处理了 TouchUpInside
事件。
我想在应用程序的整个 View 中重用此单元格,但不需要每次都创建目标。
此外, Storyboard不允许在没有 UIViewTableViewController
作为容器的情况下创建 UITableViewCells
,这很痛苦。我可以在 Storyboard中使用混合 Nib 吗?
创建单元格并将功能添加到 UITableViewCell 的适当方法是什么?
最佳答案
因为你在 storyboard/xibs
中,所以你不需要每次都在代码中添加 targets
。您可以通过 xib
Hook 他们的 IBAction
。然后在tableView:cellForRowAtIndexPath:
方法中根据cell的indexPath
设置button的标签。
或者,您可以创建自定义单元格类(继承自 UITableViewCell
)并在该类中实现按钮操作。然后您可以通过委托(delegate)将消息传递给 Controller 。
如果您想在不同的 View 中重复此单元格,那么最好的办法是创建一个单独的类,其中包含单独的 xib
,而不是在 中的特定
。controller
中> Storyboard
关于ios - 具有自定义逻辑的可重用 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21432213/