公司有老的項(xiàng)目是原生的oc寫的代碼,新的需求頁面想要用flutter來寫,那么如何在原生項(xiàng)目里加入flutter呢?
1、首頁新建一個(gè)OC的原生工程項(xiàng)目。該項(xiàng)目是個(gè)簡單的project的,只有一個(gè)頁面和一個(gè)按鈕,點(diǎn)擊按鈕present到flutter頁面。如圖

原生OC工程.png
2、創(chuàng)建一個(gè)flutter的Module項(xiàng)目,用來寫flutter頁面的。這里的module命名為flutter_oc_module。

Flutter module.png
3、接下來要在原生的oc工程中引入cocoapod來做管理。
// Podfile的內(nèi)容
flutter_application_path = '../flutter_oc_module'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
platform :ios, '9.0'
target 'FlutterWithOC' do
install_all_flutter_pods(flutter_application_path)
use_frameworks!
end

podfile解析.png
4、執(zhí)行pod install 就可以把創(chuàng)建的flutter module和原生的oc項(xiàng)目關(guān)聯(lián)起來了。

工程截圖.png
到此,oc原生項(xiàng)目就和flutter module關(guān)聯(lián)起來了。那么怎么才能在一個(gè)原生頁面點(diǎn)擊跳轉(zhuǎn)到flutter頁面呢?
在iOS原生的ViewController里有個(gè)按鈕,點(diǎn)擊跳轉(zhuǎn)到flutter頁面,我們只要在按鈕事件中創(chuàng)建一個(gè)FlutterViewController,然后push過去就可以了,灰常的簡單。show code:

code.png
注意,這里flutter頁面的樣式內(nèi)容用的是創(chuàng)建module的時(shí)候,自帶的頁面,沒有更改。當(dāng)然也可以在flutter module里更改樣式,顯示你自己的頁面。