SwiftUI学习01-基本使用
SwiftUI 是苹果推出的一种现代化方式,用于创建跨所有 Apple 平台的用户界面。它通过声明性语法简化了 UI 的开发流程。下面是一个基本的 SwiftUI 示例,展示了如何使用 SwiftUI 构建一个简单的 "Hello World" 应用。
示例步骤
1. 创建一个新的 SwiftUI 项目
打开 Xcode,选择 "新建项目" 并选择 "App" 模板。在创建项目前,确保使用 "SwiftUI" 作为用户界面,语言选择 "Swift"。
2. 基本的 "Hello World" 示例
创建项目后,Xcode 会生成一个基本的 SwiftUI 文件。以下是如何使用 SwiftUI 实现一个最简单的 "Hello World" 示例:
import SwiftUI @main
struct HelloWorldApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
} struct ContentView: View {
var body: some View {
Text("Hello, World!")
.padding()
.font(.largeTitle)
.foregroundColor(.blue)
}
}
解释代码
@main
:@main
是 Swift 应用的入口点。在 SwiftUI 应用中,@main
标记的结构体遵循App
协议,定义了应用的主界面和行为。HelloWorldApp
:这是应用的主入口,定义了应用启动时创建的场景(窗口)。
WindowGroup
:WindowGroup
定义了一个窗口内容。每个WindowGroup
都包含一个ContentView
。ContentView
:这是一个遵循
View
协议的结构体,定义了用户界面。Text
:Text
是一个显示静态文本的视图。你可以附加多个修饰符(例如padding
,font
, 和foregroundColor
)来修改文本的外观。
增强示例:带有按钮的示例
我们可以进一步增强这个示例,通过添加一个按钮,实现点击按钮改变文本内容的功能。
import SwiftUI @main
struct HelloWorldApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
} struct ContentView: View {
@State private var message = "Hello, World!" var body: some View {
VStack {
Text(message)
.padding()
.font(.largeTitle)
.foregroundColor(.blue) Button(action: {
message = "Button Clicked!"
}) {
Text("Click Me")
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(10)
}
}
}
}
解释新增的代码
@State
:@State
属性包装器用于声明视图中的状态变量。状态变量变化时视图会自动更新。VStack
:VStack
是垂直堆栈视图,安排其子视图垂直排列。Button
:Button
表示一个按钮视图。action
闭包在按钮点击时执行。
通过以上步骤与代码,你就可以实现一个简单的 SwiftUI 视图,并体验 SwiftUI 带来的简洁与高效的开发体验。如果你继续深入学习 SwiftUI,会发现更多丰富的特性和强大功能。
SwiftUI学习01-基本使用的更多相关文章
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Java虚拟机JVM学习01 流程概述
Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...
- Android Testing学习01 介绍 测试测什么 测试的类型
Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...
- Java学习01
Java学习01 第一章 1.JRE与JDK JDK(JAVA Develop Kit,JAVA开发工具包)提供了Java的开发环境和运行环境,主要用于开发JAVA程序,面向Java程序的开发者; J ...
- ThinkPhp学习01
原文:ThinkPhp学习01 一.ThinkPHP的介绍 MVC M - Model 模型 工作:负责数据的操作 V - View 视图(模板 ...
- 【iScroll源码学习01】准备阶段 - 叶小钗
[iScroll源码学习01]准备阶段 - 叶小钗 时间 2013-12-29 18:41:00 博客园-原创精华区 原文 http://www.cnblogs.com/yexiaochai/p/3 ...
- JVM学习01:内存结构
JVM学习01:内存结构 写在前面:本系列分享主要参考资料是 周志明老师的<深入理解Java虚拟机>第二版. 内存结构知识要点Xmind梳理 案例分析 分析1 package com.h ...
- webservice学习01:wsdl文档结构
webservice学习01:wsdl文档结构 wsdl文档结构 WSDL文档示例 <wsdl:definitions xmlns:xsd="http://www.w3.org/200 ...
- spring学习(01)之IOC
spring学习(01)之IOC IOC:控制反转——Spring通过一种称作控制反转(IOC)的技术促进了低耦合.当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创 ...
- vue学习01
vue学习01 1. 创建一个Vue实例官网-学习-教程-安装-(开发/生产版本)-与jQuery的引用相似 <!DOCTYPE html> <html> <head ...
随机推荐
- C 语言编程 — GDB 调试工具
目录 文章目录 目录 前文列表 代码调试 GDB 启动 GDB 交互命令 运行程序 暂停程序 设置断点 设置观察点 设置捕捉点 打印信息 查询运行信息 分割窗口 前文列表 <程序编译流程与 GC ...
- 4G EPS 的架构模型
目录 文章目录 目录 前文列表 EPS 的架构 EPS 的架构模型 E-UTRAN UE eNodeB EPC MME(移动性管理) SGW(本地移动性锚点) PGW(业务锚点) HSS(用户认证及鉴 ...
- OpenAI“杀疯了”,GPT–4o模型保姆级使用教程!一遍就会!
5月14日凌晨1点,OpenAI发布了名为GPT-4o 最新的大语言模型,再次引领了人工智能领域的又一创新浪潮,让整个行业都为之震动. 据OpenAI首席技术官穆里-穆拉提(Muri Murati)表 ...
- Vue 3.3 发布
本文为翻译 原文地址:宣布推出 Vue 3.3 |The Vue Point (vuejs.org) 今天我们很高兴地宣布 Vue 3.3 "Rurouni Kenshin" 的发 ...
- Swoole 源码分析之 Channel 通道模块
原文首发链接:Swoole 源码分析之 Channel 通道模块 大家好,我是码农先森. 引言 通道,用于协程间通讯,支持多生产者协程和多消费者协程.底层自动实现了协程的切换和调度. 通道与 PHP ...
- Linux设备驱动--轮询操作
注:本文是<Linux设备驱动开发详解:基于最新的Linux 4.0内核 by 宋宝华 >一书学习的笔记,大部分内容为书籍中的内容. 书籍可直接在微信读书中查看:Linux设备驱动开发详解 ...
- 无需搭建环境,零门槛带你体验Open-Sora文生视频应用
本文分享自华为云社区<Open-Sora 文生视频原来在AI Gallery上也能体验了>,作者:码上开花_Lancer. 体验链接:Open-Sora 文生视频案例体验 不久前,Open ...
- C# 配置文件增加自定义节点
话不多说直接开撸! 首先创建一个Config的文件夹然后新增一个后缀名为.config的文件 配置文件的代码如下: <?xml version="1.0" encoding= ...
- Python + redis操作Redis数据库
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- DBEAVER 23.0.2 调整SQL编辑器字体大小 ver:20240112
DBEAVER 23.0.2 调整SQL编辑器字体大小 ver:20240112 版本是:23.0.2. 菜单-窗口-首选项.用户界面-外观-颜色和字体.展开 DBeaver Font."M ...