Ios 基于滚动更改UILabel字体大小

Ios 基于滚动更改UILabel字体大小,ios,objective-c,fonts,uiscrollview,uilabel,Ios,Objective C,Fonts,Uiscrollview,Uilabel,我有一个UIScrollView,里面有一个UILabel。ui标签以22号字体初始化。我想要的是字体越来越小,直到向下滚动时字体大小为19。当用户向上滚动时,它会越来越大,直到字体大小为22 我试着实现这个,但滚动时字体会小于19或大于22。我做错了什么 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { ScrollDirection scrollDirection; if (self.lastContentOff

我有一个
UIScrollView
,里面有一个
UILabel
ui标签
以22号字体初始化。我想要的是字体越来越小,直到向下滚动时字体大小为19。当用户向上滚动时,它会越来越大,直到字体大小为22

我试着实现这个,但滚动时字体会小于19或大于22。我做错了什么

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    ScrollDirection scrollDirection;
    if (self.lastContentOffset > scrollView.contentOffset.y) {
        scrollDirection = ScrollDirectionRight;
    } else if (self.lastContentOffset < scrollView.contentOffset.y) {
        scrollDirection = ScrollDirectionLeft;
    }

    CGFloat fontSize = _textLabel.font.pointSize;

    if (scrollDirection == 1) {
        if (fontSize == 22) {
            fontSize = _textLabel.font.pointSize;
        } else {
            fontSize = _textLabel.font.pointSize + 0.05;
        }
    } else {
        if (fontSize == 19) {
            fontSize = _textLabel.font.pointSize;
        } else {
            fontSize = _textLabel.font.pointSize - 0.05;
        }
    }

    _textLabel.font = [UIFont fontWithName:@"SourceSansPro-Bold" size:fontSize];
}
-(无效)scrollViewDidScroll:(UIScrollView*)scrollView{
滚动方向滚动方向;
if(self.lastContentOffset>scrollView.contentOffset.y){
scrollDirection=ScrollDirectionRight;
}else if(self.lastContentOffset
您是否尝试使用
NSLog
将fontSize打印到控制台,以了解为什么它得到的值可能与您预期的不同?问题是,它允许它大于22,小于19。所以看来
fontSize==19
是不正确的…试试
if(fontSize>=22)
if(fontSize)我真是个笨蛋,当然这就是问题所在。谢谢!我现在要戴上我的耻辱帽坐在角落里。