SwiftUI初级课程(十五)UIKit使用SwiftUI视图

本文是SwiftUI初级课程的第十五讲,主要介绍如何在传统的UIKit应用中整合SwiftUI视图,通过实例演示如何在iOS应用中无缝融合两种技术,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import SwiftUI // 导入SwiftUI框架
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // 添加一个按钮,点击后弹出SwiftUI视图
        let popup = UIButton(type: .system)
        popup.setTitle("弹出SwiftUI视图", for: .normal)
        popup.setTitleColor(.orange, for: .normal)
        popup.titleLabel?.font = UIFont.systemFont(ofSize: 36)
        popup.sizeToFit()
        popup.center = view.center
        popup.addTarget(self, action: #selector(popupController), for: .touchUpInside)
        view.addSubview(popup)
    }

    @objc func popupController() {
        // UIHostingController是UIViewController的子类,借助此控制器,可以在UIKIT体系中,使用SwiftUI视图
        let vc = UIHostingController(rootView: SwiftUIView()) //
        present(vc, animated: true, completion: nil)
    }
}


//swiftUI视图

import SwiftUI
struct SwiftUIView: View {
    var body: some View {
        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
            .underline()
            .font(.largeTitle)
    }
}

struct SwiftUIView_Previews: PreviewProvider {
    static var previews: some View {
        SwiftUIView()
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薄衫岁月长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值