Swift - 工具条(UIToolbar)的用法
1,UIBarButtonItem是工具条按钮,有如下5种init初始化方法:
(2)普通图片按钮,但提供另一个备选图像供横屏使用
(3)普通文本按钮
(4)使用预置按钮:如撤销,重做,编辑等(总共有25个样式)
(5)使按钮变成任意一个UIView
2,使用UIBarButtonItem还可以创建间隔项
(1)弹性间隔(会尽可能往两端伸长)
(2)固定间隔(自定义宽度)
(1)初始化为普通图片按钮
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
class ViewController : UIViewController { override func viewDidLoad() { super .viewDidLoad() // Do any additional setup after loading the view, typically from a nib. // 创建一个浏览器工具条,并设置它的大小和位置 var browserToolbar = UIToolbar (frame: CGRectMake (0, 20, 320, 44)) // 将工具条添加到当前应用的界面中 self .view.addSubview(browserToolbar) //创建后退 var btnback = UIBarButtonItem (image: UIImage (named: "back.png" ), style: UIBarButtonItemStyle . Bordered , target: self ,action: Selector ( "backClicked:" )); //第一个分隔按钮 var btngap1 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace , target: nil , action: nil ); // 创建前进按钮 UIBarButtonItem var btnforward = UIBarButtonItem (image: UIImage (named: "forward.png" ), style: UIBarButtonItemStyle . Plain , target: self , action: Selector ( "forwardClicked:" )); // 第二个分隔按钮,创建一个可伸缩的UIBarButtonItem var btngap2 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace , target: nil , action: nil ); } func backClicked(sender: UIBarButtonItem ) { //后退 } func forwardClicked(sender: UIBarButtonItem ) { //前进 } } |
1
2
|
var btnback = UIBarButtonItem (image: UIImage (named: "back1.png" ),image: UIImage (named: "back2.png" ), style: UIBarButtonItemStyle . Bordered , target: self ,action: Selector ( "backClicked:" )); |
1
2
|
var btnback = UIBarButtonItem (title: "确定" , style: UIBarButtonItemStyle . Plain , target: self ,action: Selector ( "confrim:" )); |
Custom:默认样式
Flexible Space:自动伸缩的空白占位符
Fixed Space:固定宽度的占位元素
Add:“+”加号样式
Edit:Edit文字样式
Done:Done文字样式
Cancel:Cancel文字样式
Save:Save文字样式
Undo:Undo文字样式
Redo:Redo文字样式
Compose:背景矩形插支笔的图标样式
Reply:返回箭头的图标样式
Action:背景矩形加上一个向上箭头的图标样式
Organize:文件夹的图标样式
Trash:垃圾桶的图标样式
Bookmarks:书的图标样式
Search:放大镜的图标样式
Refresh:顺时针圆形箭头的图标样式
Stop:一个×的图标样式
Camera:一个照相机的图标样式
Play:向右三角形代表播放的图标样式
Pause:两条竖线代表播放的图标样式
Rewind:向左两个三角代表回退的图标样式
Fast Forward:向右两个三角代表快进的图标样式
Page Curl:页面旋转的图标样式。在Xcode 6中似乎不显示
示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import UIKit class ViewController : UIViewController { var pickerView: UIPickerView ! override func viewDidLoad() { super .viewDidLoad() // 创建一个浏览器工具条,并设置它的大小和位置 var browserToolbar = UIToolbar (frame: CGRectMake (0, 20, 320, 44)) // 将工具条添加到当前应用的界面中 self .view.addSubview(browserToolbar) var btn1 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Compose , target: nil , action: nil ); var btn2 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Add , target: nil , action: nil ); var btn3 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace , target: nil , action: nil ); var btn4 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Reply , target: nil , action: nil ); browserToolbar.setItems([btn1,btn2,btn3,btn4], animated: false ) } } |
(5)使按钮变成任意一个UIView
2,使用UIBarButtonItem还可以创建间隔项
(1)弹性间隔(会尽可能往两端伸长)
1
2
3
|
var btngap1 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace , target: nil , action: nil ); |
1
2
3
4
|
var btngap1 = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FixedSpace , target: nil , action: nil ); btngap1.width = 50 |
分类:
Swift语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2014-09-25 Android 出现警告Exported service does not require permission
2013-09-25 Android中的JSON详细总结