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 同步
UITableView 在 IOS 7 与 IOS 6 中的行为不同
iOS UITableView 与 UIPickerView