Swift UI框架初体验

前言:

各位同学大家好,有段时间没有给大家更新文章了 ,今天有空学了一下swift ui框架 来开发iOS app 写了一个简单的demo 所以想着分享给大家 那么废话不多说 我们正式开始

效果图:6

准备工作

xcode. 版本如图 高于xcode 11都可以

具体实现

scss 复制代码
//
//  ContentView.swift
//  myapp
//
//  Created by xuqing on 2021/11/19.
//
import SwiftUI
struct ContentView: View {
    var body: some View {
        NavigationView {
            List(0 ..< 20){ item in
                NavigationLink(destination: Text("details")){
                    Image(systemName: "heart")
                        .resizable()
                        .foregroundColor(.red)
                        .frame(width: 50, height: 50, alignment: .center)
                    VStack {
                        VStack(alignment: .leading, spacing: 0){
                            Text("我是徐老板")
                               .foregroundColor(.blue)
                            Text("外号科韵路扛把子")
                                .foregroundColor(.gray)
                                .font(.subheadline)
                        }
                    }
                }
            }.navigationBarTitle(Text("navigationBar"))
        }
    }
}
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

我们这边讲我们需要 编写UI部分ContentView 这个方法里面 然后在 ContentView_Previews 里面调用

即可 我们UI可以手动编写也可以想传统iOSxib 拖拽控件也是可以 拖拽后我们代码区域会自动帮我们填充swift 代码 。

列表显示

scss 复制代码
  List(0 ..< 20){ item in
                NavigationLink(destination: Text("details")){
                    Image(systemName: "heart")
                        .resizable()
                        .foregroundColor(.red)
                        .frame(width: 50, height: 50, alignment: .center)
                    VStack {
                        VStack(alignment: .leading, spacing: 0){
                            Text("我是徐老板")
                               .foregroundColor(.blue)
                            Text("外号科韵路扛把子")
                                .foregroundColor(.gray)
                                .font(.subheadline)
                        }
                    }
                }
            }

我们创建了一个list 控件然后显示20条本地数据 在里面 我们编写了一个横向线性布局 和2一纵向线性布局来展示的我们的image 和text 然后分别文字的颜色和图片宽高个显示位置 。即可完成简单的布局。

最后总结:

优点:swift ui写起来和 flutter koltin的jetpack compose 框架非常的像 这种声明式的UI 来写布局比起传统的 xib或者oc uikt 纯代码布局效率高太多了 基本是所见即所得 对于新手学习iOS app 开发非常的友好。 缺点:Swift ui 开发的ios APP只能运行在系统版本好大于或者等于iOS13 以上的设备上 这点对于国内大批iOS 用户来说显然是不合适的 因为还有很多人用的是旧版的iOS 系统 还有就是swifi ui在写布局方便是可以的 但是很多跟iOS系统底层交互的还是要uikt来实现 所以我们还是要熟悉uikt实现方式和原理才能很好开发完善的iOS app

相关推荐
初级代码游戏2 天前
iOS开发 SwiftUI 14:ScrollView 滚动视图
ios·swiftui·swift
初级代码游戏2 天前
iOS开发 SwitftUI 13:提示、弹窗、上下文菜单
ios·swiftui·swift·弹窗·消息框
zhyongrui3 天前
托盘删除手势与引导体验修复:滚动冲突、画布消失动画、气泡边框
ios·性能优化·swiftui·swift
zhangfeng11333 天前
CSDN星图 支持大模型微调 trl axolotl Unsloth 趋动云 LLaMA-Factory Unsloth ms-swift 模型训练
服务器·人工智能·swift
zhyongrui4 天前
SnipTrip 发热优化实战:从 60Hz 到 30Hz 的性能之旅
ios·swiftui·swift
大熊猫侯佩4 天前
Neo-Cupertino 档案:撕开 Actor 的伪装,回归 Non-Sendable 的暴力美学
swift·observable·actor·concurrency·sendable·nonsendable·data race
2501_915921436 天前
在没有源码的前提下,怎么对 Swift 做混淆,IPA 混淆
android·开发语言·ios·小程序·uni-app·iphone·swift
00后程序员张6 天前
对比 Ipa Guard 与 Swift Shield 在 iOS 应用安全处理中的使用差异
android·开发语言·ios·小程序·uni-app·iphone·swift
大熊猫侯佩7 天前
星际穿越:SwiftUI 如何让 ForEach 遍历异构数据(Heterogeneous)集合
swiftui·swift·遍历·foreach·any·异构集合·heterogeneous
hjs_deeplearning7 天前
认知篇#15:ms-swift微调中gradient_accumulation_steps和warmup_ratio等参数的意义与设置
开发语言·人工智能·机器学习·swift·vlm