持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情
不怕路远,就怕志短;不怕缓慢,就怕常站;不怕贫穷,就怕惰懒;不怕对手悍,就怕自己颤。
大家好,我是小黑,一个还没秃头的程序员~~~
今天记录的是swiftUI基础控件中的Menu、NavgationLink,话不多说,正文开始:
(一)Menu
Menu是一种用于显示操作菜单的控件。
| 属性/修饰器 | 说明 |
|---|---|
| label | 菜单的入口 |
| Content | 菜单列表 |
下面的示例展示了一个包含三个按钮的菜单和一个子菜单,子菜单包含自己的三个按钮。
Menu("Actions") { Button("Duplicate", action: duplicate)
Button("Rename", action: rename)
Button("Delete…", action: delete)
Menu("Copy") { Button("Copy", action: copy)
Button("Copy Formatted", action: copyFormatted)
Button("Copy Library Path", action: copyPath) }}
contextMenu
contextMenu会在对控件进行长按时弹出菜单操作
| 属性/修饰器 | 说明 |
|---|---|
| menuItems | 多个菜单项 |
代码如下:
Text("长按").contextMenu( ContextMenu(menuItems: {
Button(action: {}, label: {
Text("扫一扫")
Image(systemName: "plus")
})
Button("扫一扫"){
}
Button("扫一扫"){
}
Menu("-"){
Button("删除"){
}
}
}))
自定义含有菜单按钮的标题栏
使用toolbar修饰符添加Menu控件,代码如下:
NavigationView{
VStack{}.toolbar(content: {
Menu("menu2"){
Button(action: {}, label: {
Text("Button")
Image(systemName: "plus")
})
}
})
}
修改Menu控件的样式
使用menuStyle修饰符来改变视图中所有菜单的样式。下面的例子展示了如何应用自定义样式:
Menu("Editing") {
Button("Set In Point", action: setInPoint)
Button("Set Out Point", action: setOutPoint)}
.menuStyle(EditingControlsMenuStyle())
(二) NavigationLink
NavigationLink是控制导航表示的视图。通常用于页面的跳转
| 属性/修饰器 | 说明 |
|---|---|
| label | 跳转的标志 |
| destination | 跳转到的view |
代码如下: struct item :View {
var text:String=""
var destinationPage:AnyView;
var body: some View{
NavigationLink(
destination: self.destinationPage,
label: {
HStack{
Spacer()
Text(self.text)
Spacer()
}
.frame(width:200,height: 50, alignment: .center)
.border(Color.white,width: 1)
.cornerRadius(25).shadow(color:Color.yellow,radius: 10)
})
}
item(text: "Alert", destinationPage: AnyView(AlertComponent()))
}
今天的swiftUI学习就到这里,刚开始接触学的慢,但是希望可以吸收进去,为了以后的实战做准备,后面我会持续输出iOS开发笔记,感谢大家的阅读!