0

我不知道这篇文章的标题是否具有描述性,所以我将尝试更深入地解释它。我有这个 UserProfileViewController:

在此处输入图像描述

顶部是一个 UIImage,它有这些按钮作为子视图,也可以左右翻转。底部是一个容器视图,它将根据这些按钮显示不同的视图控制器。视图控制器都是表格视图,所以我想要实现的是,当我滚动每个表格视图时,上半部分的 UIImage 会缩小,因为 tabeview 的框架会放大,直到表格视图丰富,巫婆点的导航栏将继续滚动。我在其中一个 tableviews 的 contentOffset 上放了一个 kvo,并尝试修改上部 UIImage 和 tableview 的大小,但它没有按预期工作。他们不同步移动,也不流畅。

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if([keyPath isEqualToString:@"contentOffset"]){
        CGPoint offset = [[change valueForKey:NSKeyValueChangeNewKey] CGPointValue];
        NSLog(@"Old value: %f", offset.y);

        CGRect newFrame = self.hoverView.frame;
        newFrame.size.height -= offset.y;
        self.hoverView.frame = newFrame;

        CGRect newFrame2 = self.backOfHeaderView.frame;
        newFrame2.size.height -= offset.y;
        self.backOfHeaderView.frame = newFrame2;

        CGRect newFrame3 = self.userWallViewController.activityFeedTableView.frame;
        newFrame3.origin.y -= offset.y;
        self.userWallViewController.activityFeedTableView.frame = newFrame3;
    }
}

任何想法和建议都将受到欢迎。谢谢

更新:更好的解释

所以基本上,当你用拇指向上滚动(向下滚动 tableview)时,tableview 的框架会向上扩展直到全屏,同时 UIImage 会缩小,所以它看起来应该像 tableview 一样,它将 UIImage 推出屏幕。当你用拇指向下滚动(所以你向上滚动表格视图)时,表格视图的框架会缩小,直到它恢复到初始位置并且 UIImage 会增长。它应该看起来像将 UIImage 拖回屏幕上的 tablewview。这样你就可以使用按钮

4

0 回答 0