swift button怎么弄边框

swift button怎么弄边框,第1张

在Xcode中,选择 File\New\Project… 创建一个新项目。选择 Single View Application 点 Next 。将项目命名为 CandySearch 确保 Language 设置为 Swift 并且 Devices 设置为 iPhone 。点击完成,选择你想储存的位置,然后点击 Create 。

首先将默认的文件清理掉,这样你就可以真正的从头开始。

在 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

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11557872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存