首先将默认的文件清理掉,这样你就可以真正的从头开始。
在 Project Navigator 中,选择 ViewController.swift ,右键点击,选择删除,然后选择 Move to Trash 。然后打开 Main.storyboard ,选择唯一的一个view controller然后删掉他。
现在你有一个空的storyboard,可以在你的应用中添加主屏幕了。
Xcode6新建一个项目,采用swift创建代码:
创建一个ViewController继承UITableViewController
涉及了模型,控制器
模型:ZLPlace.swift
class ZLPlace: NSObject {
var place = ""
var visited = false
}
tableViewController 控制器
import UIKit
class ViewController: UITableViewController {
// 静态数据数组,存放模型
var arrs = [ZLPlace]()
override func viewDidLoad() {
super.viewDidLoad()
let place2 = ZLPlace()
place2.place = "zhang2"
arrs.append(place2)
let place3 = ZLPlace()
place3.place = "zhang3"
arrs.append(place3)
let place4 = ZLPlace()
place4.place = "zhang1"
arrs.append(place4)
self.tableView.reloadData()
}
// 数据源方法, 返回多少组
override func numberOfSectionsInTableView(tableView: UITableView) ->Int {
return 1
}
// 每组有多少行
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) ->Int {
return arrs.count
}
// 每行展示什么内容
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
let place = arrs[indexPath.row]
cell.textLabel.text = place.place
return cell
}
// 点击每个cell触发什么事件
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let place = arrs[indexPath.row]
place.visited = !place.visited
let cell = tableView.cellForRowAtIndexPath(indexPath)
cell?.backgroundColor = UIColor.clearColor()
if(place.visited){
cell?.accessoryType = UITableViewCellAccessoryType.Checkmark
}else{
cell?.accessoryType = UITableViewCellAccessoryType.None
}
}
// 点击编辑按钮
@IBAction func editing(sender: AnyObject) {
self.tableView.setEditing(true, animated: true)
}
// 删除每个cell
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == UITableViewCellEditingStyle.Delete{
arrs.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
}
}
}
效果如图:
1,文本框的创建,有如下几个样式:
UITextBorderStyle.none:无边框
UITextBorderStyle.line:直线边框
UITextBorderStyle.roundedRect:圆角矩形边框
UITextBorderStyle.bezel:边线+阴影
圆角矩形边框样例:
1
2
3
4
lettextField = UITextField(frame: CGRect(x:10, y:60, width:200, height:30))
//设置边框样式为圆角矩形
textField.borderStyle = UITextBorderStyle.roundedRect
self.view.addSubview(textField)
2,修改边框颜色、粗细、圆角半径
1
2
3
4
5
6
7
8
9
10
lettextField = UITextField(frame: CGRect(x:10, y:60, width:200, height:30))
//设置边框样式为圆角矩形
textField.borderStyle = UITextBorderStyle.roundedRect
self.view.addSubview(textField)
//修改圆角半径的话需要将masksToBounds设为true
textField.layer.masksToBounds = true
textField.layer.cornerRadius = 12.0 //圆角半径
textField.layer.borderWidth = 2.0 //边框粗细
textField.layer.borderColor = UIColor.red.cgColor //边框颜色
3,文本框提示文字
1textField.placeholder="请输入用户名"
4,文字大小超过文本框长度时自动缩小字号,而不是隐藏显示省略号
1
2
textField.adjustsFontSizeToFitWidth=true//当文字超出文本框宽度时,自动调整文字大小
textField.minimumFontSize=14 //最小可缩小的字号
5,水平/垂直对齐方式
1
2
3
4
5
6
7
8
9
/** 水平对齐 **/
textField.textAlignment = .right //水平右对齐
textField.textAlignment = .center //水平居中对齐
textField.textAlignment = .left //水平左对齐
/** 垂直对齐 **/
textField.contentVerticalAlignment = .top //垂直向上对齐
textField.contentVerticalAlignment = .center //垂直居中对齐
textField.contentVerticalAlignment = .bottom //垂直向下对齐
6,背景图片设置
1
2
textField.borderStyle = .none //先要去除边框样式
textField.background = UIImage(named:"background1")
7,清除按钮(输入框内右侧小叉)
1
2
3
textField.clearButtonMode = .whileEditing //编辑时出现清除按钮
textField.clearButtonMode = .unlessEditing //编辑时不出现,编辑后才出现清除按钮
textField.clearButtonMode = .always //一直显示清除按钮
8,密码输入框
1textField.isSecureTextEntry = true//输入内容会显示成小黑点
9,设置文本框关联的键盘类型
Default:系统默认的虚拟键盘
ASCII Capable:显示英文字母的虚拟键盘
Numbers and Punctuation:显示数字和标点的虚拟键盘
URL:显示便于输入url网址的虚拟键盘
Number Pad:显示便于输入数字的虚拟键盘
Phone Pad:显示便于拨号呼叫的虚拟键盘
Name Phone Pad:显示便于聊天拨号的虚拟键盘
Email Address:显示便于输入Email的虚拟键盘
Decimal Pad:显示用于输入数字和小数点的虚拟键盘
Twitter:显示方便些Twitter的虚拟键盘
Web Search:显示便于在网页上书写的虚拟键盘
数字键盘使用样例:
1textField.keyboardType = UIKeyboardType.numberPad
10,使文本框在界面打开时就获取焦点,并d出输入键盘
1textField.becomeFirstResponder()
11,使文本框失去焦点,并收回键盘
1textField.resignFirstResponder()
12,设置键盘 return 键的样式
1
2
3
4
5
6
textField.returnKeyType = UIReturnKeyType.done //表示完成输入
textField.returnKeyType = UIReturnKeyType.go //表示完成输入,同时会跳到另一页
textField.returnKeyType = UIReturnKeyType.search //表示搜索
textField.returnKeyType = UIReturnKeyType.join//表示注册用户或添加数据
textField.returnKeyType = UIReturnKeyType.next //表示继续下一步
textField.returnKeyType = UIReturnKeyType.send //表示发送
以发送样式(send)为例:
13,键盘 return 键的响应
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
importUIKit
classViewController: UIViewController,UITextFieldDelegate{
overridefuncviewDidLoad() {
super.viewDidLoad()
lettextField = UITextField(frame: CGRect(x:10,y:160,width:200,height:30))
//设置边框样式为圆角矩形
textField.borderStyle = UITextBorderStyle.roundedRect
textField.returnKeyType = UIReturnKeyType.done
textField.delegate=self
self.view.addSubview(textField)
}
functextFieldShouldReturn(_ textField: UITextField) ->Bool{
//收起键盘
textField.resignFirstResponder()
//打印出文本框中的值
print(textField.text ?? "")
returntrue
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)