Swift頁面的跳轉和返回

之前一直使用的OC,現在也有不少人使用Swift,我也嘗試一下,寫一個簡單又基礎的功能:頁面的跳轉和返回。這里將顯示幾個swift文件的代碼。

文件Common.swift的代碼:

//
//  Common.swift
//  MySwiftProject
//
//  Created by ChengJh on 2024/5/15.
//  Copyright ? 2024 CompanyName. All rights reserved.
//import SwiftUIextension Color {/* 使用示例:let customColor = Color(hex: "#123456"); */init(hex: String) {let scanner = Scanner(string: hex)/* 下劃線的作用:我們不關心后面函數返回的結果, 所以使用下劃線忽略它。 */_ = scanner.scanString("#") // 跳過'#'字符。var rgbValue: UInt64 = 0scanner.scanHexInt64(&rgbValue)let r = Double((rgbValue & 0xFF0000) >> 16) / 255.0let g = Double((rgbValue & 0xFF00) >> 8) / 255.0let b = Double(rgbValue & 0xFF) / 255.0self.init(red: r, green: g, blue: b)}}

文件ContentView.swift的代碼:

//
//  ContentView.swift
//  MySwiftProject
//
//  Created by ChengJh on 2024/5/15.
//import SwiftUIstruct ContentView: View {var body: some View {
#if DEBUG// 打印日志。print("test-log");
#endifreturn NavigationView {VStack(alignment: .center) {Text("Hello, world!")NavigationLink(destination: SecondView()) {Text("Enter SecondView")// foregroundColor設置文字顏色。.foregroundColor(.white).padding(10)}.background(Color(hex: "#4982f5")).border(.red, width: 2).cornerRadius(5)// Spacer是一個占據剩余空間的視圖元素, 可以幫助我們實現更靈活的布局。Spacer()}.frame(width: UIScreen.main.bounds.width).padding(EdgeInsets(top: 50, leading: 0, bottom: 0, trailing: 0)).background(Color("#f3f3f3"))//.background(.orange).navigationBarHidden(false).navigationViewStyle(.stack).navigationBarTitle("首頁", displayMode: .inline);}}
}struct ContentView_Previews: PreviewProvider {static var previews: some View {// 注: 若內容體只有一條語句 則可省略關鍵字return。ContentView()}
}

文件SecondView.swift的代碼:

//
//  SecondView.swift
//  MySwiftProject
//
//  Created by ChengJh on 2024/5/15.
//  Copyright ? 2022 CompanyName. All rights reserved.
//import SwiftUIstruct SecondView: View {@Environment(\.presentationMode) var presentationMode;var body: some View {
#if DEBUG// 打印日志。print("second-log");
#endifreturn VStack {Text("Hello, second!").padding()Button("Goback") {presentationMode.wrappedValue.dismiss();}//Spacer是一個占據剩余空間的視圖元素, 可以幫助我們實現更靈活的布局。Spacer()}.navigationBarTitle("Second");}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13054.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13054.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13054.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

怎樣讓貓給啥吃啥?生骨肉凍干拌糧哪有貓咪不吃的!

隨著科學養貓的普及,生骨肉凍干喂養越來越受歡迎,生骨肉凍干喂養對貓的好處很多,它符合貓咪的天性,可以提供全面的營養,保持牙齒和牙齦的健康,還有助于維持健康的消化系統。然而,許多貓主人在選…

考研操作系統-1.計算機系統概述

目錄 操作系統功能 操作系統的發展與分類 操作系統的運行環境 操作系統的體系結構 王道考研操作系統-1.計算機系統概述 操作系統 是指控制和管理整個計算機系統的硬件和軟件資源,合理地組織調度計算機的工作和資源的分配;提供給用戶和軟件方便的接…

PHP類和對象概念及用法

類和對象的關系 可以將類看成為一件模具,倒入不同的材料(屬性和方法),這些材料用于構建獨特的對象 類的基本組成部分 屬性:類中的變量,用于儲存數據 方法:類中的函數,用于操作和訪問類的屬性 類及其屬性和方法的創建…

GDPU 競賽技能實踐 天碼行空 期末小測

1. 除法(原題) 👨?🏫 實驗二:1.簡單枚舉 輸入正整數n,按從小到大的順序輸出所有形如abcde/fghij n的表達式,其中a~j恰好為數字0~9的一個排列(可以有前導0&a…

復雜json解析(其中有一個key的value是json格式的字符串)

app上報的參數如下: {"clientId": "8517895440514039afcf6d3e5d7832ae","dua": "SNDOCKCJPH90_GA&VN900042418&BN0&VCXiaomi&MOM2012K11AC&RL1080_2239&CHIDunknown_unknown&LCID&RV&OSAndroid13&…

邦注科技 即熱式節能模溫機的原理及應用介紹

模溫機是一種用于控制模具溫度的設備,它在各種工業領域中發揮著重要作用,特別是在塑料加工行業中。以下是關于模溫機的原理及應用的詳細介紹: 原理 模溫機的工作原理主要是通過加熱和冷卻功能,維持模具溫度在一個恒定的范圍內。…

Hadoop 3.4.0 項目實戰

1環境基于 上一篇搭建 高可用分布式集群 2 官方提供MapReduce程序 #評估圓周率 cd /data/hadoop/share/hadoop/mapreduce/ hadoop jar hadoop-mapreduce-examples-3.4.0.jar pi 2 6 3 實例項目分析1 #預分析的文件如,如單詞統計 # #上傳文件到hdfs hdfs …

SOLIDWORKS 2024云服務新功能

一、簡單的分享一下,在線觀看,輕松標記 在達索系統SOLIDWORKS 2024云服務中,您只需在達索系統SOLIDWORKS中點擊按鈕,就可以將當前的設計分享給其他人,無論是客戶、供應商還是團隊內部成員。共享的用戶只要打開瀏覽器里…

Python中的exec()函數,動態執行代碼的利器

簡介 在Python編程中,exec()函數是一個強大的工具,它允許你執行存儲在字符串或對象中的Python代碼。這種動態執行代碼的能力為腳本編寫、自動化測試、以及快速原型開發提供了極大的便利。 exec()函數的基本用法 exec()函數可以執行作為字符串輸入的Py…

一本專業130+總分400+上海交通大學819考研經驗上交電子信息與通信工程上岸,真題,大綱,參考書。

今年專業課819信號系統與信號處理130,總分400,復試表現中規中矩(初試分數查到才開始復習復試,希望大家汲取教訓,初試考完就可以錄取開始準備復試),交大初試比重很高,良心學校&#x…

LeetCode58.最后一個單詞的長度

題目鏈接: 58. 最后一個單詞的長度 - 力扣(LeetCode) 分析:普通的模擬題,只要有基本的算法思想就可以掌握。 算法思路:要統計最后一個單詞的長度,所以我們只要找到最后一個單詞出現的起始和終…

ASP.NET在線畢業論文提交系統的設計與實現

摘 要 本設計就很好的解決了上面的問題,它不但能實現畢業生論文的在線提交;還能給教師一定的權限,以在線的方式對自己指導的學生的論文進行審核;并且管理員還可以方便的將每個學生的論文信息按統一的論文排版本格式導出成word文…

高并發-線程池面試

文章目錄 高并發-線程池2024心得好的博客必會面試題為什么使用線程池線程池的實現原理線程池的拒絕策略阻塞隊列已滿,在提交任務會發生什么問題threadlocal原理和使用多線程配置 高并發-線程池2024 心得 面試都是圍繞著三高展開,高并發,高可…

洗衣洗鞋店做小程序有什么優勢?

互聯網洗衣洗鞋小程序閃亮登場,想知道這款小程序有何魅力嗎? 如今,眾多商家紛紛推出預約上門洗鞋服務,💁?♀?并傾力打造洗鞋小程序,旨在拓展線上銷售渠道。🌟那么,這款洗鞋小程序究…

Oracle數據庫的CURRENT SCN

數據庫的CURRENT SCN是Oracle當前最大的SCN,可以通過多種方法獲取該SCN: 1、直接從內存中獲取。由于當前最大SCN存儲在fixed sga中,因此可以通過Oracle debug工具DUMP kcsgscn結構體獲取內存中的最大SCN。在下面的程序中,BA371為1…

網絡配置的加密存儲

隨著數據泄露事件的增加,擾亂了公司的正常工作周期,企業遭受了損失。事實上,數據泄露可以通過存儲加密來控制,存儲加密是防止黑客對網絡數據庫造成嚴重破壞的最有效方法之一。在網絡配置管理器中,存儲加密可用于存儲設…

SpringBoot解析MyBatis預編譯SQL

pom.xml <profile><!-- 開發環境 --><id>dev</id><activation><!-- 默認激活 --><activeByDefault>true</activeByDefault></activation><properties><spring.profiles.active>dev</spring.profiles.ac…

Unity 模擬放大鏡局部放大UI 效果實現

UI 放大實現 RectTransformUtility.ScreenPointToLocalPointInRectangle(rectScale, eventData.position, eventData.pressEventCamera, out localPos); 使用IPointerDownHandler 獲取鼠標點擊時的有效負載&#xff0c;并將鼠標坐標轉成對應的UI 坐標&#xff0c;rectScale 為…

【Win】一鍵恢復IE11工具:讓舊版瀏覽器在新系統中重生

微軟在2020年8月的時候就已經公告IE11的生命周期終點&#xff0c;多次提醒將在2022年6月15日起不再支持IE 11&#xff0c;呼吁用戶盡快轉換到Chromium-based Microsoft Edge。微軟也陸續終止旗下服務支持這個舊式瀏覽器。2021年3月&#xff0c;Chrome瀏覽器已不支持舊IE App。2…

字符串解析-KMP魔改

題目 已知存在一種字符串解析語法&#xff0c;其中的語法元素如下 N:用于匹配單個數字(0-9) A:用于匹配單個字母(a-z,A-Z) n():用于表示一個分組&#xff0c;分組中至少有一個N語法元素或者A語法元素&#xff0c;n為一個數值&#xff0c;表示匹配n次&#xff0c;1<n< 20…