【发布时间】:2013-07-30 21:20:58
【问题描述】:
我正在开发一个 iPhone 应用程序,我希望在部分标题被下一个部分推开时执行一些自定义行为。有什么方法可以告诉我scrollViewDidScroll 何时发生这种情况?
谢谢,
【问题讨论】:
标签: iphone ios objective-c uiscrollview
我正在开发一个 iPhone 应用程序,我希望在部分标题被下一个部分推开时执行一些自定义行为。有什么方法可以告诉我scrollViewDidScroll 何时发生这种情况?
谢谢,
【问题讨论】:
标签: iphone ios objective-c uiscrollview
您可以使用rectForHeaderInSection 获取任何部分的实际位置:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView_ {
...
CGRect rect = [mytable convertRect:[mytable rectForHeaderInSection:0] toView:[mytable superview]];
...
}
要实现您在scrollViewDidScroll 中提到的内容,您可能会遍历所有部分(如您在表格中定义的那样)并检查rect.origin.y 以获取它是否为负值(可见区域之外)。
希望它有助于开始考虑详细实施! Check reference also.
【讨论】:
如果您的目标是 iOS 6 及更高版本,您可以使用来自 UITableViewDelegate 的 tableView:didEndDisplayingHeaderView:forSection: 方法:
- (void)tableView:(UITableView *)tableView didEndDisplayingHeaderView:(UIView *)view forSection:(NSInteger)section
{
// do what you need
}
【讨论】: