【问题标题】:UITableView inside UIScrollView with date带有日期的 UIScrollView 内的 UITableView
【发布时间】: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的情况下实现它?

标签: ios objective-c uiscrollview


【解决方案1】:

在属性检查器中,您可以取消选中启用滚动处的勾以禁用垂直滚动。

You can check on this picture

【讨论】:

    【解决方案2】:

    最好的办法是使用UIPageViewController,它完全可以满足您的需要。

    每次用户向左或向右滑动时,页面视图控制器都会询问上一个或下一个视图控制器 - 这将是您的视图控制器的一个新实例,其中包含一个 UITableView(设置为所需的日期)。

    要禁用表格滚动,请使用tableView.scrollEnabled = NO。 (表格视图只能垂直滚动,因此这将禁用垂直滚动)。

    【讨论】:

      猜你喜欢
      • 2019-11-11
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 1970-01-01
      • 2013-04-28
      相关资源
      最近更新 更多