UITableView Scroll时改变UIView的高度

Posted

技术标签:

【中文标题】UITableView Scroll时改变UIView的高度【英文标题】:Change height of UIView when UITableView Scroll 【发布时间】:2018-04-20 14:40:08 【问题描述】:

大家好,在我的 ViewController 中我有一个 UIView 位于顶部,一个 UITableView 位于 UITableView 的正下方

当 UITableview 向上滚动时,我正在尝试更改 UIView 的高度

我正在尝试使用此方法,但无法获得结果..我的 UIView 卡住了...我哪里做错了?

这是正在使用的代码

-(void)viewDidLoad 
   [super viewDidLoad];

    _navView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, self.view.frame.size.width -20, 50)];
    _navView.backgroundColor = UIColor.clearColor;
    [self.view addSubview:_navView];


-(void)scrollViewDidScroll:(UIScrollView *)scrollView 

    if (scrollView.contentOffset.y >50) 
        self.navView.frame = CGRectMake(10, 20, self.view.frame.size.width -20, 0);

     else 
        self.navView.frame = CGRectMake(10, 20, self.view.frame.size.width -20, 50);
    


【问题讨论】:

【参考方案1】:

你必须输入viewDidLoad

self.tableView.delegate = self

【讨论】:

我没有插入我的tableview的初始化..我只展示了我的uiview的例子 也许我设法解决了......问题是 tableview.delegate 在创建我的 uiview 后被调用......我确认你的答案:D

以上是关于UITableView Scroll时改变UIView的高度的主要内容,如果未能解决你的问题,请参考以下文章

带有搜索栏的 UITableView 作为 inputView

如何在 UITableView 顶部添加一个一起滚动的视图,但在滚动后粘在顶部

UITableView 在插入/滚动时未更新

使用 Swift 的带有 MVVM 的 UITableView

为啥 UITableView 只在输入第一个字符时自动滚动?

滚动时如何使uitableview单元格不改变?