ios - 具有自定义逻辑的可重用 UITableViewCell

标签 ios iphone objective-c uitableview

据我了解,可以通过编程方式或使用 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/

相关文章:

iphone - UITableViewCell AutoRelease 导致崩溃...?

ios - iPhone 不断发送 apple-site-association 请求

ios - 在单元格内显示整个表格 View

ios - 在 iOS 库中重命名类的最佳方法是什么?

objective-c - 计算返回 0 Objective-c

objective-c - iOS如何构建ffmpeg

objective-c - NSNumber如何获得最小公分母?像 3/8 代表 0.375?

ios - 如何从 UISearchBar 移动占位符标签

iphone - 如何将 UIImage 插入 UITextView

iOS:当拖动到指定区域时如何仅确定一次按钮的位置