最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS?項(xiàng)目嵌入Flutter?運(yùn)行(最新推薦)

 更新時(shí)間:2023年03月29日 15:13:43   作者:iOS_Apple  
這篇文章主要介紹了iOS?項(xiàng)目嵌入Flutter?運(yùn)行,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一  創(chuàng)建Flutter 模塊

命令行

flutter create --template module my_flutter

創(chuàng)建完成后,該模塊和普通的Flutter項(xiàng)目一直,可以通過(guò)Android Studio或VSCode打開(kāi)、開(kāi)發(fā)、運(yùn)行;

  • 和之前項(xiàng)目不同的iOS和Android項(xiàng)目是一個(gè)隱藏文件,并且我們通常不會(huì)單獨(dú)打開(kāi)它們?cè)賮?lái)運(yùn)行;
  • 它們的作用是將Flutter Module進(jìn)行編譯,之后繼承到現(xiàn)有的項(xiàng)目中
my_flutter/
├── .ios/
├── .android/
├── lib/
│   └── main.dart
├── test/
└── pubspec.yaml

二 嵌入到iOS 項(xiàng)目

主要是通過(guò)pod 進(jìn)行設(shè)置,之后pod install

注意my_flutter 的路徑對(duì)不對(duì)

platform :ios, '12.0'
# 添加模塊所在路徑
flutter_application_path = '../my_flutter'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
 
target 'FlutterHybridDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
  
  # 安裝Flutter模塊
  install_all_flutter_pods(flutter_application_path)
  
  # Pods for FlutterHybridDemo
end
post_install do |installer|
  flutter_post_install(installer) if defined?(flutter_post_install)
end

三  iOS 項(xiàng)目中調(diào)用

為了在既有的iOS應(yīng)用中展示Flutter頁(yè)面,需要啟動(dòng) Flutter Engine和 FlutterViewController

AppDelegate 中設(shè)置代碼

import UIKit
import FlutterPluginRegistrant
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
 
    // 1.創(chuàng)建一個(gè)FlutterEngine對(duì)象
    lazy var flutterEngine = FlutterEngine(name:"my flutter engine")
 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        // 2 啟動(dòng)
        flutterEngine.run()
        
        return true
    }

在ViewControlelr 設(shè)置的代碼

import UIKit
import Flutter
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        let btn = UIButton(type: UIButton.ButtonType.custom)
        btn.setTitle("加載flutter", for: UIControl.State.normal)
        btn.frame = CGRect(x: 50, y: 50, width: 200, height: 50)
        btn.backgroundColor = UIColor.blue
        btn.addTarget(self, action: #selector(showFlutter), for: UIControl.Event.touchUpInside)
        view.addSubview(btn)
    }
    
    @objc func showFlutter(){
        
        let flutterEngine = (UIApplication.shared.delegate as! AppDelegate).flutterEngine
        
        let flutterController = FlutterViewController(engine:flutterEngine, nibName: nil, bundle: nil)
        
        present(flutterController, animated: true)
        
        
    }
 
}

顯示的結(jié)果  順利加載出flutter 的頁(yè)面

到此這篇關(guān)于iOS 項(xiàng)目嵌入Flutter 運(yùn)行的文章就介紹到這了,更多相關(guān)iOS 項(xiàng)目嵌入Flutter內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解IOS圖層轉(zhuǎn)場(chǎng)動(dòng)畫(huà)

    詳解IOS圖層轉(zhuǎn)場(chǎng)動(dòng)畫(huà)

    這篇文章主要為大家詳細(xì)介紹了IOS圖層轉(zhuǎn)場(chǎng)動(dòng)畫(huà), CATransition類實(shí)現(xiàn)層的轉(zhuǎn)場(chǎng)動(dòng)畫(huà),能夠?yàn)閷犹峁┮瞥銎聊缓鸵迫肫聊坏膭?dòng)畫(huà)效果,感興趣的小伙伴們可以參考一下
    2016-02-02
  • IOS開(kāi)發(fā)實(shí)現(xiàn)手機(jī)震動(dòng)的提示實(shí)例代碼

    IOS開(kāi)發(fā)實(shí)現(xiàn)手機(jī)震動(dòng)的提示實(shí)例代碼

    這篇文章主要介紹了IOS開(kāi)發(fā)實(shí)現(xiàn)手機(jī)震動(dòng)的提示實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • iOS使用WebView生成長(zhǎng)截圖的第3種解決方案

    iOS使用WebView生成長(zhǎng)截圖的第3種解決方案

    這篇文章主要給大家介紹了關(guān)于iOS使用WebView生成長(zhǎng)截圖的第3種解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • iOS 10 推送高階篇(必看)

    iOS 10 推送高階篇(必看)

    本文重點(diǎn)給大家介紹ios10 推送的所有通知類,所以說(shuō)這篇教程是ios10推送必看篇,感興趣的朋友快來(lái)一起學(xué)習(xí)吧
    2016-09-09
  • iOS如何將圖片裁剪成圓形

    iOS如何將圖片裁剪成圓形

    這篇文章主要為大家詳細(xì)介紹了iOS如何將圖片裁剪成圓形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • iOS開(kāi)發(fā)實(shí)現(xiàn)轉(zhuǎn)盤(pán)功能

    iOS開(kāi)發(fā)實(shí)現(xiàn)轉(zhuǎn)盤(pán)功能

    這篇文章主要為大家詳細(xì)介紹了iOS開(kāi)發(fā)實(shí)現(xiàn)轉(zhuǎn)盤(pán)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • iOS開(kāi)發(fā)中一些手寫(xiě)控件及其相關(guān)屬性的使用

    iOS開(kāi)發(fā)中一些手寫(xiě)控件及其相關(guān)屬性的使用

    這篇文章主要介紹了iOS開(kāi)發(fā)中一些手寫(xiě)控件及其相關(guān)屬性的使用,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-12-12
  • iOS中Runtime的幾種基本用法記錄

    iOS中Runtime的幾種基本用法記錄

    RunTime顧名思義運(yùn)行時(shí),就是系統(tǒng)在運(yùn)行的時(shí)候的一些機(jī)制,最主要的是消息機(jī)制。下面這篇文章主要給大家介紹了關(guān)于iOS中Runtime的幾種基本用法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • iOS實(shí)現(xiàn)不規(guī)則Button點(diǎn)擊效果實(shí)例代碼

    iOS實(shí)現(xiàn)不規(guī)則Button點(diǎn)擊效果實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)不規(guī)則Button點(diǎn)擊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • tableView上面空出20個(gè)像素的解決辦法

    tableView上面空出20個(gè)像素的解決辦法

    在IOS開(kāi)發(fā)中,有時(shí)候會(huì)遇到tableView上面多出來(lái)20個(gè)像素,是什么原因呢?又該如何來(lái)解決他呢,今天我們來(lái)探討下
    2014-09-09

最新評(píng)論

江油市| 农安县| 宁河县| 永年县| 永城市| 济宁市| 临城县| 乐昌市| 新和县| 乳源| 二手房| 芜湖市| 温州市| 武夷山市| 海南省| 丹寨县| 稻城县| 三穗县| 乐山市| 即墨市| 临海市| 津南区| 雷波县| 黑河市| 花莲市| 洱源县| 武义县| 琼结县| 长乐市| 临城县| 嵊州市| 中方县| 衡水市| 阜南县| 桑植县| 应用必备| 永登县| 揭东县| 离岛区| 永春县| 米易县|