SWIFT用ScrollView加图片制作Banner
2015-06-27 15:08
351 查看
网上参考OBJC写的用ScrollView图片轮播效果,照着画了个,先上效果图:
附上代码:
附上代码:
@IBOutlet weak var pc: UIPageControl! @IBOutlet weak var sv:UIScrollView! var timer:NSTimer! override func viewDidLoad() { super.viewDidLoad() for i in 1...6{ //loading the images let image = UIImage(named: "pic\(i).jpg")! let x = CGFloat(i - 1) * self.view.frame.width //这一步获取ScrollView的宽度时我用IPHONE6实体机测试是320,右边会出现第二张图片的一部分,最后还是用ROOT VIEW的宽度 var imageView = UIImageView(frame: CGRectMake(x, 0, self.view.frame.width, sv.bounds.height)) imageView.image = image sv.pagingEnabled = true sv.showsHorizontalScrollIndicator = false sv.scrollEnabled = true sv.addSubview(imageView) sv.delegate = self } sv.contentSize = CGSizeMake((self.view.frame.width * 6), sv.frame.height) pc.numberOfPages = 6 pc.currentPageIndicatorTintColor = UIColor.redColor() pc.pageIndicatorTintColor = UIColor.whiteColor() addTimer() } func scrollViewDidScroll(scrollView: UIScrollView) { let width = self.view.frame.width let offsetX = scrollView.contentOffset.x let index = (offsetX + width / 2) / width pc.currentPage = Int(index) } func scrollViewWillBeginDragging(scrollView: UIScrollView) { removeTimer() } func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) { addTimer() } func addTimer() { timer = NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: "nextImage", userInfo: nil, repeats: true) } func removeTimer() { timer.invalidate() } func nextImage() { var pageIndex = pc.currentPage if pageIndex == 5 { pageIndex = 0 } else { pageIndex++ } var offsetX = CGFloat(pageIndex) * self.view.frame.width sv.setContentOffset(CGPointMake(offsetX, 0), animated: true) }
相关文章推荐
- 【swift-总结】函数
- swift学习
- 【swift-总结】控制流
- swift 类型转换
- swift初体验
- IOS/swift 异步缓存文件
- 拥抱Swift吧,骚年!
- 从零开始--系统深入学习IOS(使用Swift---带链接)
- ios swift模仿qq登陆界面,xml布局
- ios swift模仿qq登陆界面,xml布局
- Swift AVFoundation 二维码扫描和生成
- Swift入坑--block的定义
- SWIFT中计算两个日期间隔多少小时
- [教程技巧] 简析Swift和C的交互
- Swift函数
- Swift控制语句
- 源码推荐(6.26):三级联想菜单(也可以当二级),tableView reloadData动画(swift)
- Swift单例
- 6.25 android开发mvp模式,类似swift的jvm语言kotlin
- SWIFT显示底部的工具条