我有两个按钮,我想改变他们的阿尔法,同时水平滚动两个视图。
我希望一个按钮从0.3 alpha开始,另一个按钮从1.0开始。当我滚动到另一个视图时,我希望它们切换值:第一个按钮切换到1.0,第二个按钮切换到0.3。
我只玩了一个scrollViewDidScroll代表里面的按钮:

 allBtn.alpha = scrollView.contentOffset.x / scrollView.bounds.size.width * 0.3

卷轴后我有0.3阿尔法,但当我回去时,它将是0。
你知道怎么做吗?

最佳答案

- (CGFloat)calculateButtonAlphaUsingScrollView:(UIScrollView *)scrollView withAlphaForOffsetZero:(CGFloat)alphaForOffsetZero withAlphaForOffsetMax:(CGFloat)alphaForOffsetMax {
    CGFloat width = scrollView.frame.size.width;
    CGFloat contentWidth = scrollView.contentSize.width;
    CGFloat scrollLength = contentWidth - width;
    CGFloat scrollOffset = scrollView.contentOffset.x;
    CGFloat scrollValue = scrollOffset / scrollLength;
    CGFloat alphaChange = alphaForOffsetMax - alphaForOffsetZero;
    return alphaForOffsetZero + alphaChange * scrollValue;
}

关于ios - 滚动时更改按钮的Alpha,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31839540/

10-12 00:22
查看更多