SwiftUI 復用舊項目代碼之UIViewcontroller(2020版教程)
SwiftUI 復用舊項目代碼之UIViewcontroller(2020版教程)
SwiftUI 非常好用,開發界面高效快捷,但是具體到業務層面,復用歷史代碼是必須要研究到事情。
如何在SwiftUI中調用UIViewcontroller
- 1、 創建一個 Wrapper
例如我們有個Example1ViewController舊代碼,我們可以先通過UIViewControllerRepresentable創建一個Wrapper
import Foundation
import SwiftUI
struct MKControllerWrapper: UIViewControllerRepresentable {
typealias UIViewControllerType = Example1ViewController
func makeUIViewController(context: UIViewControllerRepresentableContext<MKControllerWrapper>) -> MKControllerWrapper.UIViewControllerType {
return Example1ViewController()
}
func updateUIViewController(_ uiViewController: MKControllerWrapper.UIViewControllerType, context: UIViewControllerRepresentableContext<MKControllerWrapper>) {
//
}
}
- 2、 在SwiftUI的代碼中調用這個Wrapper即可
NavigationLink( destination: MKControllerWrapper()){
Text(" Markdown文本編輯器 ")
.bold()
.foregroundColor(.white)
.background(Color.purple)
.cornerRadius(6)
.shadow(radius: 4)
}
效果


更多SwiftUI教程和代碼關注專欄
- 請關注我的專欄 SwiftUI教程與源碼
智能推薦
SwiftUI 高級List 之CardView卡片效果(2020年教程)
SwiftUI 高級List 之CardView卡片效果(2020年教程) 代碼 效果 SwiftUI 高級List 之CardView卡片效果 更多SwiftUI教程和代碼關注專欄 請關注我的專欄 SwiftUI教程與源碼...
SwiftUI 動畫控制運行軌跡之Curve(2020教程)
歡迎訂閱專欄《SwiftUI 2020教程》 本文價值與收獲 看完本文后,您將能夠作出下面的動畫 四種內置曲線運動效果 四種內置曲線運動效果 看完本文您將掌握的技能 掌握4種內置動畫曲線使用 實現移動 實現顏色變換 欣賞遠古壁畫 QQ:3365059189 SwiftUI技術交流QQ群:518696470 動畫曲線是一種在整個動畫過程中表達速度的方式。在前面的示例中,您看到了“ eas...
SwiftUI RandomAccessCollection 是什么如何用(2020)
SwiftUI RandomAccessCollection 是什么如何用(2020) 得益于Swift的protocol-oriented 設計,因此可以非常容易的實現各種通用算法。 RandomAccessCollection 介紹 A collection that supports efficient random-access index traversal. 支持高效隨機訪問的集合 R...
SwiftUI Sqlite如何存儲復雜對象(2020)
SwiftUI Sqlite如何存儲復雜對象 如何你有大量圖片或者復雜文本需要存儲,sqlite 的Blob類型將是你最佳的選擇 代碼 數據截圖 image.png 定義了NoteObject父類 NoteObject的子類 來源 https://github.com/indaos/DaoNotes 更多SwiftUI教程和代碼關注專欄 請關注我的專欄 SwiftUI教程與源碼...
SwiftUI-WWDC2020-實例展示
整體效果 總體效果 代碼實現 目錄結構 sandwichApp.swift 程序入口文件,store作為全局變量聲明在此文件,并作為參數傳入ContentView ContentView.swift 主頁面,所有功能和業務邏輯都在此頁面,是一個App的列表頁面,可以新增,移動,刪除,編輯,點擊單元格可進入詳情頁面。單元格抽象為SandwichCell。 SandwichDetail.swift 詳...
猜你喜歡
SwiftUI 控件之Button 按鈕初級和高級實用(2020版教程)
SwiftUI 控件之Button 按鈕初級和高級實用(2020版教程) Button是一個非常基本的UI控件,您可以在所有應用中找到該控件。如果您以前學習過iOS編程,則SwiftUI中的Button與UIKit中的UIButton非常相似。它更加靈活和可定制。本文將給您介紹一下幾個方面的內容: 如何創建一個簡單的按鈕并處理用戶的選擇 如何自定義按鈕的背景,填充和字體 如何在按鈕上添加邊框 如何...
SwiftUI 高級List分頁與無限滾動之基礎版(2020教程)
盡管我們可以訪問List中的具體item,但是我們不知道List滾動到了當前哪個位置,也不知道我們到List末尾的距離。這些數據都是我們進行分頁到基礎。 Pagination(分頁)對于每個人都有不同的含義,因此我們先給我分頁的目標做個明確定義: 在滾動過程中,List應提取并追加下一頁的數據。當用戶到達列表末尾且請求仍在進行中時,應顯示加載視圖。 基于上面的定義,讓我們實現一個解決方案來解決這些...
SwiftUI ListItemTint 基礎教程(含源碼)
ListItemTint 應用于列表中內容的色調效果的配置。 實戰代碼 技術交流 QQ:3365059189 SwiftUI技術交流QQ群:518696470...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...