iOS学习- 04 控件
来源:互联网 发布:大淘客和淘宝客的区别 编辑:程序博客网 时间:2024/05/21 18:49
1.)Picker View
绑定数据:a.) 扩展ViewController 实现 UIPickerViewDataSource , UIPickerviewDelegate Protocol (interface)
//
// ViewControllerExtension.swift
// BeautyGallery
//
// Created by Ricky Choi on 16/5/29.
// Copyright © 2016年 worm. All rights reserved.
//
import UIKit
extension ViewController: UIPickerViewDataSource {
// returns the number of 'columns' to display.
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
// returns the # of rows in each component..
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return beauties.count
}
}
extension ViewController: UIPickerViewDelegate {
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return beauties[row]
}
}
2.)Segue - View Controller间的联线
3.) 为新的View Controller 新建立一个ViewController.类 - GalleryViewController,绑定该View Controller 到 GalleryViewController
View Contoller属性中的Class选择 GalleryViewcontroller
判断去哪个视图,需要命名Segue ,写prepareForSegue函数。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "GotoGallery" {
let index = beautyPicker.selectedRowInComponent(0)
var imageName: String?
switch index {
case 0:
imageName = "fangbingbing"
case 1:
imageName = "libingbing"
case 2:
imageName = "wangfei"
case 3:
imageName = "yangmi"
case 4:
imageName = "zhouxu"
default:
imageName = nil
}
var vc = segue.destinationViewController as! GalleryViewController
vc.imageName = imageName
}
}
//
// GalleryViewController.swift
// BeautyGallery
//
// Created by Ricky Choi on 16/5/29.
// Copyright © 2016年 worm. All rights reserved.
//
import UIKit
class GalleryViewController: UIViewController {
@IBOutlet weak var beautyImage: UIImageView!
var imageName: String?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if imageName != nil {
beautyImage.image = UIImage(named: imageName!)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
在第二个view返回:
a.)手动 UnWind Segue
I)在父View Controller 写
@IBAction func close(segue: UIStoryboardSegue) {
print("closed")
}
II.)在第二个view Controller中的按中联线到自己右上角的Exit,选择close方法
Full code:
//
// ViewController.swift
// BeautyGallery
//
// Created by Ricky Choi on 16/5/29.
// Copyright © 2016年 worm. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var beautyPicker: UIPickerView!
let beauties = ["范冰冰", "李冰冰", "王菲", "杨幂", "周迅"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
beautyPicker.dataSource = self
beautyPicker.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "GotoGallery" {
let index = beautyPicker.selectedRowInComponent(0)
var imageName: String?
switch index {
case 0:
imageName = "fangbingbing"
case 1:
imageName = "libingbing"
case 2:
imageName = "wangfei"
case 3:
imageName = "yangmi"
case 4:
imageName = "zhouxu"
default:
imageName = nil
}
var vc = segue.destinationViewController as! GalleryViewController
vc.imageName = imageName
}
}
@IBAction func close(segue: UIStoryboardSegue) {
print("closed")
}
}
//
// ViewControllerExtension.swift
// BeautyGallery
//
// Created by Ricky Choi on 16/5/29.
// Copyright © 2016年 worm. All rights reserved.
//
import UIKit
extension ViewController: UIPickerViewDataSource {
// returns the number of 'columns' to display.
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
// returns the # of rows in each component..
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return beauties.count
}
}
extension ViewController: UIPickerViewDelegate {
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return beauties[row]
}
}
//
// GalleryViewController.swift
// BeautyGallery
//
// Created by Ricky Choi on 16/5/29.
// Copyright © 2016年 worm. All rights reserved.
//
import UIKit
class GalleryViewController: UIViewController {
@IBOutlet weak var beautyImage: UIImageView!
var imageName: String?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if imageName != nil {
beautyImage.image = UIImage(named: imageName!)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
- iOS学习- 04 控件
- ios学习 - 控件学习
- IOS控件学习
- ios控件学习2:
- ios 控件学习
- IOS学习之控件
- iOS学习- 02 控件
- iOS学习- 03 控件
- ios控件学习 代码实现
- ios控件学习 代码实现
- IOS控件学习之UILabel
- iOS基础控件的学习
- 学习ios之基础控件
- 学习ios控件之UIButton
- 学习iOS控件之UIImageView
- 学习iOS控件之UITextField
- [小白学iOS编程04]UIDatePicker控件学习(键盘处理)
- IOS学习七:UINavigationController控件的初步
- LightOJ 1341 Aladdin and the Flying Carpet(质因数分解、因子个数)
- 【Spring4揭秘 基础3】统一抽象资源---Resource
- 面试题31:连续子数组的最大和
- 1. Two Sum
- 第十四周项目一(2) 阅读程序,解释程序运行得到的结果
- iOS学习- 04 控件
- LightOJ 1282 Leading and Trailing(n^k的高三位和低三位)
- [Java源码分析]ArrayList源码分析
- [Sql2008错误问题]附件数据库时出现的3种常见错误的解决办法
- 面试题32:从1到n整数中1出现的次数
- centos7下搭建nexus
- spring mvc中设置登录拦截器,报错:元素 "mvc:interceptors" 的前缀 "mvc" 未绑定。
- vim配置和Taglist的安装
- LightOJ 1259 Goldbach`s Conjecture(证明哥德巴赫猜想)