概述

#

TextInputClient 介面中添加了三個方法:showToolbarinsertTextPlaceholderremoveTextPlaceholder,以允許 iOS 14 的 Scribble 功能插入和刪除文字佔位符以及顯示工具欄。

背景

#

從 iOS 14 開始,iPad 在使用 Apple Pencil 時支援 Scribble 功能。此功能允許使用者使用鉛筆與文字欄位進行互動,以新增、刪除、選擇和修改文字。

變更說明

#

在原生的文字小部件中,當用戶在執行 iOS 14 或更高版本的 iPad 上使用鉛筆選擇文字時,會顯示文字工具欄。為了複製此行為,平臺會發送一個名為 TextInputClient.showToolbartextInput 通道訊息。這會通知 Dart 程式碼應該顯示工具欄。

當用戶按住鉛筆時,文字中會顯示一個視覺間隙,以便使用者有額外的空間進行書寫。為了複製此行為,平臺會發送名為 TextInputClient.insertTextPlaceholderTextInputClient.removeTextPlaceholdertextInput 通道訊息。多行文字輸入應具有提供垂直空間的佔位符,而單行輸入應提供水平空間。

遷移指南

#

如果您之前實現了 TextEditingClient,則必須重寫 showToolbarinsertTextPlaceholderremoveTextPlaceholder,以支援這些 Scribble 功能或提供一個空實現。

為了遷移,請實現 showToolbarinsertTextPlaceholderremoveTextPlaceholder

遷移前的程式碼

dart
class MyCustomTextInputClient implements TextInputClient {
  ...
}

遷移後的程式碼

dart
class MyCustomTextInputClient implements TextInputClient {
  ...
  @override
  void showToolbar() {
    ...
  }
  
  @override
  void insertTextPlaceholder(Size size) {
    ...
  }
  
  @override
  void removeTextPlaceholder() {
    ...
  }
}

時間線

#

已釋出版本:2.9.0-1.0.pre
穩定版本: 2.10

參考資料

#

API 文件

相關問題

相關 PR