网站首页 > 开源技术 正文
一、在搭建界面的时候,只需要解决 2 个问题:
1、界面中都有哪些 元素?
2、怎么 修饰 这些元素 ?
二、认识元素和修饰符:
这里说的“元素”,其实就是界面中一个一个的部件,比如
一个 “ 按钮 ” ;
一段 “ 文字 ” ;
一张 “ 图片 ” ;
一个 “ 矩形 ” ;
... ...
这些元素的组合到一起,就成了我们看见的界面;
然而这些元素的堆砌只是满足了功能的需求,并没有满足设计的要求,所以还需要进行美化,美化就需要给这些元素增加一些修饰,比如
一个 “ 红色 ” 的按钮
一段 “ 间距为15的红色 ” 的文字
一张 “ 尺寸为100 × 100 " 的图片
一个 “ 圆角为10 ” 的矩形
解读:
一个红色的按钮
元素(View):按钮
修饰(Modifers):红色
一段间距为15的红色的文字
元素(View):文字
修饰(Modifers):间距和颜色
一张尺寸为100 × 100的图片
元素(View):图片
修饰(Modifers):尺寸
一个圆角为10的矩形
元素(View):矩形
修饰(Modifers):圆角
三、总结:
界面 = View(元素) + Modifers(修饰符)
四、在代码中再认识View(元素)和 Modifers(修饰符):
import SwiftUI
struct MeiGuiTu: View {
var body: some View {
VStack(spacing: 20 ){
Button("一个按钮"){ //我是元素
}
.frame(width: 100, height: 30) //我是修饰符
.background(Color.red) //我是修饰符
.foregroundColor(.white) //我是修饰符
Text("""
洞门高阁霭馀辉,桃李阴阴柳絮飞。
禁里疏钟官舍晚,省中啼鸟吏人稀。
晨摇玉佩趋金殿,夕奉天书拜琐闱。
强欲从君无那老,将因卧病解朝衣。
""") //我是元素
.lineSpacing(15) //我是修饰符
Image("2") //我是元素
.resizable() //我是修饰符
.scaledToFit() //我是修饰符
.frame(width: 100, height: 100) //我是修饰符
RoundedRectangle(cornerRadius: 10, style: .continuous) //我是元素
.frame(width:100 , height: 100) //我是修饰符
}
}
}
struct MeiGuiTu_Previews: PreviewProvider {
static var previews: some View {
MeiGuiTu()
}
}
你答应过我,我用心写,你用心看;既会 点赞,还会 收藏,偶尔还会 分享 和 打赏!
本篇完,感谢阅读!
送给想学《缠论》但一直被缠的朋友,下面这个视频可能是你遇到的最易懂的缠论课程(传送门)
猜你喜欢
- 2024-09-19 一篇文章带你了解Telerik UI for WPF中热门的深色主题
- 2024-09-19 【2.UI元素】6.Scrollbar and Scroll View
- 2024-09-19 Graphics View绘图架构:构建交互式和可扩展的绘图应用
- 2024-09-19 Web View 结合 MAUI Blazor:实现 Web 与 WPF 的双边互补,附带案例
- 2024-09-19 SwiftUI入门 - Toast的封装Exte、nsion与ViewModifier的使用
- 2024-09-19 揭秘Graphics View绘图架构设计方案:从基本概念到实际应用
- 2024-09-19 iOS-启动项目(一)设置 rootViewController
- 2024-09-19 三星 One UI 3.1更新,Galaxy S21系列同步升级
- 2024-09-19 UIActivityViewController属性和使用?
- 2024-09-19 iOS开发——使用UICollectionView实现一个列表头部拉伸效果的案例
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)