UITableView半粘性tableViewHeader,如App Store详细信息视图

时间:2014-01-03 14:38:17

标签: ios objective-c uitableview ios7 uisegmentedcontrol

我希望像iOS7应用程序商店详情视图一样有半粘性tableViewHeader。详细信息视图是带有详细信息|的屏幕评论|与您实际下载应用的相关UISegementedControl。不幸的是,我没有足够的声誉来发布图片,但它通常在顶部开始。向上滚动时,它也会正常滚动。但是,一旦UISegementedControl击中顶部,它就会坚持下去。我将在表格中有多个部分。

通过将顶部视图添加为tableHeaderView并拦截scrollViewDidScroll事件,我已经通过自动布局直观地工作了这个:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
     if (scrollView.contentOffset.y > 69) //offset from top to uisegmentedcontrol
          self.toolBarHeightToTop.constant = scrollView.contentOffset.y; //toolBarHeightToTop is auto layout constraint from uisegmentedcontrol to top of header
     else
          self.toolBarHeightToTop.constant = 69; //default
}

但是,UISegmentedControl未检测到触摸事件。相反,引发了UITableView委托方法tableView:didSelectRowAtIndexPath:。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

标题和分段控件都是UITableView标题,分段控件下面的内容属于UITableViewCell

标题(UISegmentedControl上方)位于UITableView部分,没有任何行(但它有标题)。

UISegmentedControlUITableView部分的标题,其中包含1行 - 您看到的内容和标题 - UISegmentedControl