iOS UITableView 与 UIPickerView

Posted

技术标签:

【中文标题】iOS UITableView 与 UIPickerView【英文标题】:iOS UITableView with UIPickerView 【发布时间】:2013-02-27 11:58:43 【问题描述】:

我需要创建一个包含多个列的UITableView。在那里,表格的第一行会有一个常量块。当用户滚动表格时,将选择该块中的行。基本上它是一个带有UIPickerView 的表格视图。

我希望我能够上传一张图片来解释这一点。

我不知道该怎么做。这是UITableView 和选择器视图的混合体。我可以将其实现为带有多列的选择器视图(该块充当自定义选择器)吗?

请帮忙。

谢谢, ~维沙尔

【问题讨论】:

【参考方案1】:

您可以使用 UITableView 方法获取顶行中表示的数据的索引:

- (NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point

点在哪里 (CGPoint)0,0(或与您的块/行 1 相交的某个点)

 - (NSIndexPath *)indexPathForRowsInRect:(CGRect)rect

rect 与你“阻塞”相关的地方。

您需要管理滚动,以便表格停止时,行的顶部与块或表格顶部对齐。这个 UITableView 方法可能会很有帮助,你应该在你的 tableview 在滚动后停止时触发它:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath 
              atScrollPosition:(UITableViewScrollPosition)scrollPosition 
                      animated:(BOOL)animated

UITableViewScrollPositionTop为滚动位置

我希望您希望每列独立滚动。在这种情况下,每列需要一个 tableView。然后,您只需要确保您知道哪个 tableView 在您各自的委托和数据源方法中发送消息(易于管理,因为指向 tableView 的指针是这些方法中发送的第一个参数)。

【讨论】:

以上是关于iOS UITableView 与 UIPickerView的主要内容,如果未能解决你的问题,请参考以下文章

firebaseui-ios FirebaseTableViewDataSource 与 UITableView 同步

IOS下拉与UITextField和UITableView

UITableView 在 IOS 7 与 IOS 6 中的行为不同

iOS UITableView 与 UIPickerView

当 Scroll UITableView 它与名称 iOS 重叠

ios UITableView 与 fetchedresultscontroller - 添加自定义行