zoukankan      html  css  js  c++  java
  • 三个ImageView 实现无线轮播 方法

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    {
        //开始滚动,判断位置,然后替换复用的三张图
        [self changeImageWithOffset:scrollView.contentOffset.x];
    }
    
    - (void)changeImageWithOffset:(CGFloat)offsetX
    {
        if (offsetX >= ScrollWidth * 2)
        {
            _currentIndex++;
            
            if (_currentIndex == _MaxImageCount-1)
            {
                [self changeImageLeft:_currentIndex-1 center:_currentIndex right:0];
                
            }else if (_currentIndex == _MaxImageCount)
            {
                
                _currentIndex = 0;
                
                [self changeImageLeft:_MaxImageCount-1 center:0 right:1];
                
            }else
            {
                [self changeImageLeft:_currentIndex-1 center:_currentIndex right:_currentIndex+1];
            }
            _PageControl.currentPage = _currentIndex;
            
        }
        
        if (offsetX <= 0)
        {
            _currentIndex--;
            
            if (_currentIndex == 0) {
                
                [self changeImageLeft:_MaxImageCount-1 center:0 right:1];
                
            }else if (_currentIndex == -1) {
                
                _currentIndex = _MaxImageCount-1;
                [self changeImageLeft:_currentIndex-1 center:_currentIndex right:0];
                
            }else {
                [self changeImageLeft:_currentIndex-1 center:_currentIndex right:_currentIndex+1];
            }
            
            _PageControl.currentPage = _currentIndex;
        }
    }
    
    #pragma mark - 给复用的imageView赋值
    
    - (void)changeImageLeft:(NSInteger)LeftIndex center:(NSInteger)centerIndex right:(NSInteger)rightIndex
    {
        if (_isNetworkImage)
        {
            
            [_leftImageView sd_setImageWithURL:[NSURL URLWithString:_imageArray[LeftIndex]] placeholderImage:_placeholderImage];
            [_centerImageView sd_setImageWithURL:[NSURL URLWithString:_imageArray[centerIndex]] placeholderImage:_placeholderImage];
            [_rightImageView sd_setImageWithURL:[NSURL URLWithString:_imageArray[rightIndex]] placeholderImage:_placeholderImage];
            
        }else
        {
            _leftImageView.image = _imageArray[LeftIndex];
            _centerImageView.image = _imageArray[centerIndex];
            _rightImageView.image = _imageArray[rightIndex];
        }
        
        [_scrollView setContentOffset:CGPointMake(ScrollWidth, 0)];
    }
    
  • 相关阅读:
    Http无状态协议
    API
    在IE里嵌入播放器
    ASP.NET中常用的优化性能方法(转)
    分布式应用程序
    VS2007的beta版下载地址
    组合还是继承(转)
    您不能初始化一个远程桌面连接,因为在远程计算机上的windows登录软件被不兼容的软件取代
    .Net平台开发的技术规范与实践精华总结(转)
    什么是“分布式应用系统”
  • 原文地址:https://www.cnblogs.com/mkai/p/6404635.html
Copyright © 2011-2022 走看看