Swift - UIScrollView

1、UIScrollView滚动视图的用法

import UIKit
class ViewController: UIViewController,UIScrollViewDelegate{

    var scrollView:UIScrollView!

    override func viewDidLoad() {
        super.viewDidLoad()
        scrollView = UIScrollView()
        scrollView.frame = self.view.bounds
        scrollView.delegate = self
        let imageView = UIImageView(image: UIImage(named: "welcome_page"))
        scrollView.contentSize = imageView.bounds.size
        scrollView.addSubview(imageView)
        scrollView.minimumZoomScale = 0.1//最小比例
        scrollView.maximumZoomScale = 3 //最大比例
        self.view.addSubview(scrollView)

    }
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        print("x:\(scrollView.contentOffset.x) y:\(scrollView.contentOffset.y)")
    }
    func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        for subview:AnyObject in scrollView.subviews{
            if subview.isKind(of: UIImageView.self){
                return subview as? UIView
            }
        }
        return nil
    }
}

2、实现页面滚动切换

import UIKit
class ViewController: UIViewController{

    let numofPages = 3
    let pageWidth = (NSInteger)(UIScreen.main.bounds.width)
    let pageHeight = (NSInteger)(UIScreen.main.bounds.height)

    override func viewDidLoad() {
        super.viewDidLoad()

        let scrollView = UIScrollView()
        scrollView.frame = self.view.bounds
        scrollView.contentSize = CGSize(width: pageWidth*numofPages, height: pageHeight)
        scrollView.isPagingEnabled = true
        scrollView.showsHorizontalScrollIndicator = false
        scrollView.showsVerticalScrollIndicator = false
        scrollView.scrollsToTop = false
        scrollView.bounces = false

        //添加子页面
        for i in 0..<numofPages{
            let view = UIView()
            view.frame = CGRect(x: pageWidth*i, y: 0, width: pageWidth, height: pageHeight)
            view.backgroundColor = UIColor(red: CGFloat(arc4random()%256)/255.0, green: CGFloat(arc4random()%256)/255.0, blue: CGFloat(arc4random()%256)/255.0, alpha: 1.0)
            scrollView.addSubview(view)
        }
        self.view.addSubview(scrollView)
    }

}

原文地址:https://www.cnblogs.com/baidaye/p/9204384.html

时间: 2024-08-29 17:19:28

Swift - UIScrollView的相关文章

[Swift]UIScrollView小结

最好的教程?? http://www.raywenderlich.com/76436/use-uiscrollview-scroll-zoom-content-swift 看的时候就有很多疑惑 所以去查了很多UIScrollView的知识 在此总结一下 虽然看到了很多OC的东西 但对于理解UIScrollView并无影响 还有些基本概念也是刚刚接触 Bounds 是superView也就是上一级Size 它是从原点(0,0)开始计算的 Frame 是当前视图的坐标 原点是自己设置的 下面是他们的

iOS程序-UIScrollView的基本使用

iOS程序-UIScrollView的基本使用 UIScrollView 滚动视图 (实例) 博客分类: Phone / IOS / Objective-C / Swift UIScrollView 类负责所有基于 UIKit 的滚动操作. 一.创建 C代码   CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ; UIScrollView* scrollView = [ [UIScrollView alloc ] init

Swift - 用UIScrollView实现视差动画效果

效果 源码 https://github.com/YouXianMing/Swift-Animations // // MoreInfoView.swift // Swift-Animations // // Created by YouXianMing on 16/8/18. // Copyright © 2016年 YouXianMing. All rights reserved. // import UIKit class MoreInfoView: UIView { var imageV

Swift基础 - - StoryBoard间切换与UIScrollView控件实现图片轮播

界面切换 在项目中可以把耦合度比较高的界面放在通过一个StoryBoard中,可以按照功能使用多个StoryBoard搭建界面,这样便于项目维护以及多人开发,对于多个StoryBoard间切换,可以使用以下代码: @IBAction func ChangeOne(sender: UIButton) { var oneStoryBoard:UIStoryboard = UIStoryboard(name: "One", bundle: NSBundle.mainBundle()) let

iOS开发——UI篇Swift篇&amp;UIScrollView

UIScrollView 1 //返回按钮事件 2 @IBAction func backButtonClick() 3 { 4 self.navigationController?.popViewControllerAnimated(true) 5 } 6 7 //创建滚动视图 8 var mainScrollView:UIScrollView! 9 10 var view1:UIView! 11 var view2:UIView! 12 var view3:UIView! 13 14 //创

swift 实践- 14 -- UIScrollView

import UIKit class ViewController: UIViewController ,UIScrollViewDelegate{ override func viewDidLoad() { super.viewDidLoad() let scrollView = UIScrollView.init() scrollView.frame = self.view.bounds let imageView = UIImageView.init(image: UIImage.init

swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)

比较简单,原理就不说了,这里只做记录: 代码如下: 1,准备 var pageControl:UIPageControl? var myscrollView:UIScrollView? var myTimer:Timer? var mycurrentPage:NSInteger? var courses = [ ["name":"first","pic":"1.jpeg"], ["name":"s

Swift - 滚动视图(UIScrollView)的用法

1,当图片尺寸超过屏幕时,使用UIScrollView可以实现滚动条视图,即手指触摸滚动屏幕方便浏览整个页面. 1 2 3 4 5 6 var scrollView=UIScrollView() scrollView.frame=self.view.bounds var imageView=UIImageView(image:UIImage(named:"bigpic")) scrollView.contentSize=imageView.bounds.size; scrollView

uiscrollview UIView 设置背景图片 swift 不用colorWithPatternImage

colorWithPatternImage 非常占用内存,而且在swift中去掉了这个方法. sizeView.layer.contents = UIImage(named:"slect_bg")!.CGImage