iOS如何同时滚动和调整大小

时间:2015-10-20 05:47:23

标签: ios objective-c uiscrollview

我想模仿iOS 9音乐应用。 当您向上或向下滚动时,我希望标题部分在表格滚动时展开/折叠。

我已尝试在scrollViewDidScroll进行调整,但我不能像音乐应用那样反弹。

1 个答案:

答案 0 :(得分:0)

你只需要检查滚动的偏移量并根据它改变帧和x和y ...你增加的帧大小会相应地减少x和y坐标。

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {

CGFloat yOffset = scrollView.contentOffset.y/2 + 32;

CGRect frame = coverImage.frame;

    frame.size.height = MAX(150 - yOffset, 150);
    frame.size.width = MAX(SCREEN_WIDTH - yOffset, SCREEN_WIDTH);
    frame.origin.x = SCREEN_WIDTH/2 - frame.size.width/2;
    frame.origin.y = scrollView.contentOffset.y + 64;
    coverImage.frame = frame;

    frame.origin.x = SCREEN_WIDTH/2 - 20;
    frame.origin.y = 0 - yOffset;
    frame.size.width = 40;
    frame.size.height = 40;
    loadingIcon.frame = frame;
    frame.origin.y = 0 - yOffset + 30;
    frame.origin.x = SCREEN_WIDTH/2 - 50;
    frame.size.width = 180;
    label.frame = frame;
    yOffset = 0;
    NSLog(@"YOFFSET : %f | Scroll offset : %f", yOffset, scrollView.contentOffset.y);

}

希望这会帮助你解决问题。