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

界面切换

在项目中可以把耦合度比较高的界面放在通过一个StoryBoard中,可以按照功能使用多个StoryBoard搭建界面,这样便于项目维护以及多人开发,对于多个StoryBoard间切换,可以使用以下代码:

@IBAction func ChangeOne(sender: UIButton) {
        var oneStoryBoard:UIStoryboard = UIStoryboard(name: "One", bundle: NSBundle.mainBundle())
        let oneController:UIViewController = oneStoryBoard.instantiateViewControllerWithIdentifier("oneId") as UIViewController
        self.navigationController?.pushViewController(oneController, animated: true)
    }

需要说明的是上面的"One"是One.storyboard,"oneId"是下图中的Storyboard ID

还有一个需要注意的就是切换界面的主界面必须是Navigation Contoller

UIScrollView实现图片轮播


//
//  Two.swift
//  MultStoryBoardChanged
//
//  Created by System Administrator on 15/2/6.
//  Copyright (c) 2015年 jwzhangjie. All rights reserved.
//
import UIKit
class Two: UIViewController, UIScrollViewDelegate{

    @IBOutlet weak var scrollview: UIScrollView!

    @IBOutlet weak var pageControl: UIPageControl!

    var timer:NSTimer!

    override func viewDidLoad() {
        super.viewDidLoad();
        //image width
        let imageW:CGFloat = self.scrollview.frame.size.width;
        let imageH:CGFloat = self.scrollview.frame.size.height;
        var imageY:CGFloat = 0;
        var totalCount:NSInteger = 5;
        for index in 0..<totalCount{
            var imageView:UIImageView = UIImageView();
            let imageX:CGFloat = CGFloat(index) * imageW;
            imageView.frame = CGRectMake(imageX, imageY, imageW, imageH);
            let name:NSString = NSString(format: "image_0%d", index+1);
            imageView.image = UIImage(named: name);
            self.scrollview.showsHorizontalScrollIndicator = false;
            self.scrollview.addSubview(imageView);
        }
        let contentW:CGFloat = imageW * CGFloat(totalCount);
        self.scrollview.contentSize = CGSizeMake(contentW, 0);
        self.scrollview.pagingEnabled = true;
        self.scrollview.delegate = self;

self.pageControl.numberOfPages = totalCount;
        self.addTimer()
    }

    func nextImage(sender:AnyObject!){
        var page:Int = self.pageControl.currentPage;
        if(page == 4){
            page = 0;
        }else{
            ++page;
        }
        let x:CGFloat = CGFloat(page) * self.scrollview.frame.size.width;
        self.scrollview.contentOffset = CGPointMake(x, 0);
    }

    func scrollViewDidScroll(scrollView: UIScrollView) {
        let scrollviewW:CGFloat = scrollview.frame.size.width;
        let x:CGFloat = scrollview.contentOffset.x;
        let page:Int = (Int)((x + scrollviewW / 2) / scrollviewW);
        self.pageControl.currentPage = page;
    }

    func scrollViewWillBeginDragging(scrollView: UIScrollView) {
        self.removeTimer();
    }

    func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        self.addTimer();
    }

    func addTimer(){
        self.timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "nextImage:", userInfo: nil, repeats: true);
        NSRunLoop.currentRunLoop().addTimer(self.timer, forMode: NSRunLoopCommonModes);
    }

    func removeTimer(){
        self.timer.invalidate();
    }
}

需要注意的是XCode6.1里面

for index in 0..<totalCount{
0..<是半区间,包头不包尾    ...全区间
时间: 2024-11-10 01:30:07

Swift基础 - - StoryBoard间切换与UIScrollView控件实现图片轮播的相关文章

【转】 iOS开发UI篇—UIScrollView控件实现图片轮播

原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: 1 #import "YYViewController.h" 2 3 @interface YYViewController () <UIScrollViewDelegate> 4 @property (w

iOS开发UI篇—UIScrollView控件实现图片轮播

一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: 1 #import "YYViewController.h" 2 3 @interface YYViewController () <UIScrollViewDelegate> 4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollview; 5 /** 6 * 页码 7 */ 8 @property (w

iOS UI-UIScrollView控件实现图片轮播 (UIPageControl-分页指示器)

一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: 1 #import "ViewController.h" 2 #define HMImageCount 5 3 @interface ViewController ()<UIScrollViewDelegate> 4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; 5 @property (w

UIScrollView控件实现图片缩放功能

UIScrollView控件实现图片缩放功能 iOS开发UI篇-UIScrollView控件实现图片缩放功能

iOS开发UI篇—UIScrollView控件实现图片缩放功能

一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 2.缩放原理 当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的v

UIPickerView选择控件实现选择轮播效果(转轮效果)

UIPickerView为用户提供了选择器功能,使用户以更好的体验方式实现数据的选择,如图: UIPickerView控件的使用方法:(创建好根视图:MainViewController) 1 #import <UIKit/UIKit.h> 2 3 @interface MainViewController : UIViewController<UIPickerViewDelegate> 4 { 5 UIPickerView *pickerView; 6 UILabel *cont

UIScrollView控件介绍

一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕?大?小是极其有限的,因此直接展?示在?用户眼前的内容也相当有限 (2)当展?示的内容较多,超出?一个屏幕时,?用户可通过滚动?手势来查看屏幕以外的内容 (3)普通的UIView不具备滚动功能,不能显?示过多的内容 (4)UIScrollView是一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 (5)  举例:手机上的“设置”.其他?示例程序 2.UIScrollView的简

iOS开发UI篇—UIScrollView控件介绍

一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕?大?小是极其有限的,因此直接展?示在?用户眼前的内容也相当有限 (2)当展?示的内容较多,超出?一个屏幕时,?用户可通过滚动?手势来查看屏幕以外的内容 (3)普通的UIView不具备滚动功能,不能显?示过多的内容 (4)UIScrollView是一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 (5)  举例:手机上的“设置”.其他?示例程序 2.UIScrollView的简

支持Word文档和其他文件格式间的转换的控件Spire.Doc for .NET

Spire.Doc for .NET是e-iceblue公司推出的一款专门对Microsoft Word 文档进行操作的.NET类控件.这款控件的主要功能在于帮助开发人员轻松快捷地生成.编辑和查看Word文档.同时,开发人员还可以通过使用Spire.Doc for .NET 设置Word文档的格式,插入图片,表格,超链接等.Spire.Doc for .NET 最大的便利之处在于它不依赖于Microsoft Word以及任何其他第三方软件.只需将此款控件安装在您的电脑上,您就可以对word文档进