带有日期的 UIScrollView 内的 UITableView
Posted
技术标签:
【中文标题】带有日期的 UIScrollView 内的 UITableView【英文标题】:UITableView inside UIScrollView with date 【发布时间】:2017-02-01 07:24:52 【问题描述】:我想在 UIScrollView 中显示一个 UITableView。在 UITableView 标题中,我想首先显示当前日期,然后如果用户向左滚动它应该显示上一个日期,如果用户向右滚动应该显示下一个日期......我想禁用垂直滚动...... .
这是我的代码
- (void)viewDidLoad
self.title = @"2017-02-01";
_scrollView.delegate = self;
_scrollView.pagingEnabled = YES;
_scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.scrollView.frame) * 3, CGRectGetHeight(self.scrollView.frame));
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.showsVerticalScrollIndicator = NO;
_scrollView.scrollsToTop = NO;
有了这个,我可以向右滚动 1 次,然后它就不再滚动了。我尝试了一些解决方案,但它不起作用...
【问题讨论】:
您不应该将表格视图放在滚动视图中。表格视图已经是滚动视图。 tableview是scrollview的子类,可以直接在tableview中访问scroll delegate 我希望它在用户滑动时像页面一样滚动......我们如何在没有scrollview的情况下实现它? 【参考方案1】:在属性检查器中,您可以取消选中启用滚动处的勾以禁用垂直滚动。
You can check on this picture
【讨论】:
【参考方案2】:最好的办法是使用UIPageViewController,它完全可以满足您的需要。
每次用户向左或向右滑动时,页面视图控制器都会询问上一个或下一个视图控制器 - 这将是您的视图控制器的一个新实例,其中包含一个 UITableView(设置为所需的日期)。
要禁用表格滚动,请使用tableView.scrollEnabled = NO
。 (表格视图只能垂直滚动,因此这将禁用垂直滚动)。
【讨论】:
以上是关于带有日期的 UIScrollView 内的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
UIpageviewcontroller 内的 UIScrollview
使用 uitableviewcell 内的 uiscrollview 设置页面控件