美文网首页
IOS14 UIPageControl设置_pageimage

IOS14 UIPageControl设置_pageimage

作者: 剧变 | 来源:发表于2020-09-17 11:19 被阅读0次

    众所周知,苹果对通过kvc设置私有变量这个事情越来越敏感,从IOS13的对textField的placeholder设置字体大小颜色等就已经看出,今年又对UIPageControl下手了,通过kvc设置私有变量_pageImage和_currentPageImage会引起程序奔溃,具体见以下代码:

    [pageControl setValue:[UIImage imageNamed:@"page_unselect"] forKeyPath:@"_pageImage"];
    [pageControl setValue:[UIImage imageNamed:@"page_select"] forKeyPath:@"_currentPageImage"];
    

    解决方案:

    通过自定义pageControl达成预期目标,可以参考著名视图轮播框架SDCycleScrollView里的自定义TAPageControl,下面放出github地址,可直接拿过来用

    https://github.com/gsdios/SDCycleScrollView

    用法和UIPageControl几乎一模一样,代码如下:

    - (TAPageControl *)pageControl {
        if (!_pageControl) {
            _pageControl = ({
                TAPageControl *pageControl = [[TAPageControl alloc] init];
                pageControl.currentDotImage = [UIImage imageNamed:@"page_select"];
                pageControl.dotImage = [UIImage imageNamed:@"page_unselect"];
                pageControl.numberOfPages = 3;
                pageControl.currentPage = 0;
                pageControl;
            });
        }
        return _pageControl;
    }
    

    相关文章

      网友评论

          本文标题:IOS14 UIPageControl设置_pageimage

          本文链接:https://www.haomeiwen.com/subject/nyklyktx.html