Flutter常見(jiàn)問(wèn)題匯總
歡迎加群交流(qq:839981465)
目錄
- Mac os 10.15 運(yùn)行‘idevice_id’無(wú)法驗(yàn)證開(kāi)發(fā)者
- json數(shù)據(jù)轉(zhuǎn)換
- TextField鍵盤(pán)顯示隱藏
- 橫豎屏設(shè)置
- TextField光標(biāo)文字焦點(diǎn)不對(duì)齊問(wèn)題
- ios打包白屏
- 圖片充滿父視圖
- 運(yùn)行報(bào)錯(cuò):Unhandled Exception: ServicesBinding.defaultBinaryMessenger was accessed before the binding was initialized.
- showModalBottomSheet頂部圓角
- 限制TextField輸入長(zhǎng)度(使用maxLength會(huì)有counter控件)
- 背景圖會(huì)被鍵盤(pán)頂起
- ios Cocoapods報(bào)錯(cuò): NoMethodError - undefined method `size' for nil:NilClass
- setState更新數(shù)據(jù),PageView、ListView等子控件沒(méi)更新
解決方案
-
Mac os 10.15 運(yùn)行‘idevice_id’無(wú)法驗(yàn)證開(kāi)發(fā)者
1576138438797.jpg
-
sudo xattr -d com.apple.quarantine [your_path]/flutter/bin/cache/artifacts/libimobiledevice/idevice_id
sudo xattr -d com.apple.quarantine [your_path]/flutter/bin/cache/artifacts/libimobiledevice/ideviceinfo
sudo xattr -d com.apple.quarantine [your_path]/flutter/bin/cache/artifacts/libimobiledevice/idevicesyslog
sudo xattr -d com.apple.quarantine [your_path]/flutter/bin/cache/artifacts/usbmuxd/iproxy
替換為自己的路徑
- json數(shù)據(jù)轉(zhuǎn)換
json_to_dart
- json數(shù)據(jù)轉(zhuǎn)換
// 使用范例:
var list = json.decode(widget.itemBean.formDefaultValue);
var items = (list as List).cast().map((value) {
return Bean.formJson(value);
}).toList();
- TextField鍵盤(pán)顯示隱藏
// 顯示鍵盤(pán)
focusNode.requestFocus();
// 隱藏鍵盤(pán)
focusNode.unfocus();
- 橫豎屏設(shè)置
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown
]);
runApp(MyApp());
- TextField光標(biāo)文字焦點(diǎn)不對(duì)齊問(wèn)題
TextField(
style: TextStyle(textBaseline: TextBaseline.alphabetic),
)
- ios打包白屏
1. 在項(xiàng)目下終端運(yùn)行:
flutter build ios --release
2. 在Xcode中打開(kāi)項(xiàng)目, Product -> Archive 即可
- 圖片充滿父視圖
ConstrainedBox(
child: Image.asset(
AssetImages.start2,
fit: BoxFit.cover,
),
constraints: new BoxConstraints.expand(),
)
- 運(yùn)行報(bào)錯(cuò):Unhandled Exception: ServicesBinding.defaultBinaryMessenger was accessed before the binding was initialized.
void main() {
// 加上這句即可
WidgetsFlutterBinding.ensureInitialized();
//
runApp(MyApp());
}
- showModalBottomSheet頂部圓角
showModalBottomSheet(
context: context,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
builder: (context) {
return Container();
},
)
- 限制TextField輸入長(zhǎng)度(使用maxLength會(huì)有counter控件)
inputFormatters: <TextInputFormatter>[
LengthLimitingTextInputFormatter(6)
],
- 背景圖會(huì)被鍵盤(pán)頂起
Scaffold中設(shè)置:
resizeToAvoidBottomInset: false,
- ios Cocoapods報(bào)錯(cuò): NoMethodError - undefined method `size' for nil:NilClass
flutter clean
rm -Rf ios/Pods
rm -Rf ios/.symlinks
rm -Rf ios/Flutter/Flutter.framework
rm -Rf ios/Flutter/Flutter.podspec
rm -Rf ios/Podfile.lock /// 加上這個(gè)
- setState更新數(shù)據(jù),PageView、ListView等子控件沒(méi)更新
詳見(jiàn):http://www.itdecent.cn/p/977e1448f95d
