【问题标题】:UITableViewController - limit the scrollingUITableViewController - 限制滚动
【发布时间】:2012-10-02 09:13:41
【问题描述】:

我有一个 UITableViewController,它包含一个 View 和一个 Table View Section

视图包含指示表格标题的标签。

我的问题是滚动包含视图。我想要的是保持 View 静态(从滚动中排除)并且只滚动 Table。 (我使用静态单元格)

谢谢。

【问题讨论】:

  • 把视图放到UITableView之外。
  • 他在UITableViewController做不到。
  • 什么他做不到?只是不要将视图放入UITableView[Cell],仅此而已。
  • UITableViewController.view 总是UITableView -- 他不能把它放在外面。

标签: iphone objective-c xcode scroll uitableview


【解决方案1】:

UITableViewController 的层次结构是

- UIView
-- UIScrollView
---- UITableView

最初修改项目时您在 UITableView 中,因此您需要将不想滚动的部分添加到 UIView(在我们的 scrollView 之外)。所以你需要像这样调用 super 几次:

[self.superview.superview.view addSubview:viewThatDoesNotScroll];

【讨论】:

  • 对不起,我没明白你的意思。你能不能给我更多的细节。我使用静态单元格,当我创建自定义类时,我得到“静态表视图仅在嵌入 UITableViewController 实例时才有效”。谢谢。
  • 抱歉,这不是 UITableViewController 的视图层次结构。 UITableViewController 的视图属性指向 UITableView 记录。而 UITableView 是 UIScrollView 的子类。你不应该将 UITableView 对象放在 UIScrollView 中。
【解决方案2】:

由于UITableViewUIScrollView 的子类:

- (void)viewDidLoad {
    [super viewDidLoad];
    // mySubview is an instance variable, declared in .h file
    [self.tableView addSubview:mySubview];
    // here goes the rest of your code
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if(scrollView == self.tableView) {
        mySubview.frame = CGRectMake(mySubview.frame.origin.x, scrollView.contentOffset.y, mySubview.frame.size.width, mySubview.frame.size.height);
    }
}

代码取自 WWDC '10 或 '11(我不记得了),所以我确信这是最合适的方式。

说明:-viewDidLoad 中创建视图并将其添加为tableView 的子视图。您可以在 -loadView-init 中进行操作 - 没关系。最重要的几行在-scrollViewDidScroll: 方法中。每当用户拖动scrollView时都会调用此方法,因此您只需将子视图的origin.y设置为scrollView的contentOffset.y即可。

【讨论】:

    【解决方案3】:

    不要 UITableViewController。使用 UIViewController 并管理 UITableView 对象之外的视图。如果需要,还可以实现 UIViewControllerContainment 来管理自定义视图控制器内的不同视图和不同的视图控制器。

    【讨论】:

      猜你喜欢
      • 2019-12-07
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 2017-01-25
      相关资源
      最近更新 更多