iphone - 我如何重新创建 TweetBot 样式 'drop-down' 单元格菜单?

标签 iphone objective-c ipad uitableview

“TweetBot”应用程序在每个单元格下方都有一个下拉菜单,点击单元格时会出现该菜单。菜单显示为不同的单元格,直接位于点击的单元格下方。这是一个(相当大的)屏幕截图,以使其更加清晰:

TweetBot

这个界面创意非常适合我正在创建的应用程序。由于需要正确匹配单元格/indexPaths,它并不像听起来那么简单。我对如何实现这个有一些想法 - 但是:

您将如何实现此功能(或者,如果您已实现此功能,您是如何实现的?)或者甚至更好 - 是否已经有任何开源实现?

最佳答案

创建单元格时,创建 2 个 UIView,一个包含所有正常内容,另一个包含下拉列表。

设置下拉 View 的自动调整大小掩码,使其具有不灵活的高度和灵活的上边距。 (其余照常) 设置普通内容 View 的自动调整大小掩码,使其具有不灵活的边距和灵活的宽度和高度。

为两个 View 分别设置一个标签。

在内容 View 之前添加下拉 View ,它被内容 View 隐藏(内容 View 也不能有透明背景)

在 TableView 委托(delegate)方法中,当一个单元格被按下时,设置添加的内容 View 的自动调整大小掩码,使用标签来获取它,除了不灵活的高度和灵活的底部外边距之外与以前相同。并添加:

[tableView beginUpdates];
[tableView endUpdates];

创建一个实例变量来保存一个 NSIndexPath 对象。将变量设置为按下的单元格的索引路径。

在table view delegate方法中设置if单元格的高度,添加一个if语句,这样下拉的高度就加上了选中单元格的高度(会在上面描述的实例变量中)

将必要的 if 语句添加到 cell pressed 方法以确定是显示下拉列表还是隐藏它。

这只是对向单元格添加下拉列表的一种方法的粗略指示,还有其他可能更好的方法。当我拿到我的笔记本电脑时,我可能会添加一些代码和更好的细节。

关于iphone - 我如何重新创建 TweetBot 样式 'drop-down' 单元格菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8058089/

相关文章:

objective-c - NSButton 和 NSImageView 中的图像模糊

ios - 夏令时与 NSTimeZone 最佳实践

iphone - iPad 和 iPhone 的启动方向不同?

iphone - 从 iPad 应用程序打印

iphone - 如何在tableview编辑时显示该行?

iOS 反向地理编码问题不返回 placemark.locality 的值

iphone - MPMoviewPlayerController 全屏播放旋转与底层 UIViewController 仅具有纵向模式(不允许旋转)

ios - 在约束调整大小后获取 imageview 边界

iPhone Cocos2D CCColorLayers

iphone - "Redirect URI doesnot match registered redirect URI"在 IOS 应用程序中的 instagram 集成