FireMonkey のネイティブ iOS コントロール

提供: RAD Studio
移動先: 案内検索

FireMonkey のネイティブ コントロール への移動


このトピックでは、FireMonkey のネイティブ iOS コントロールについて説明します。

FireMonkey のネイティブ iOS コントロールの表示

FireMonkey は、特定のビジュアル コンポーネントに対し、ネイティブのプレゼンテーションを提供しています。

  • ControlType プロパティを Styled に設定すると、コントロールの標準 FireMonkey プレゼンテーションとなります。Styled は、ControlType のデフォルト値です。
  • ControlType プロパティを Platform に設定すると、そのコントロールのネイティブ スタイルとなります。

使用可能な FireMonkey ネイティブ iOS コントロール

ネイティブ表示をサポートしているコントロールは次のとおりです。

ネイティブ iOS コントロールの外見の変化

ビジュアル コンポーネントの ControlType プロパティを Platform に設定した場合、フォーム デザイナでのこのコントロールの表示は、ネイティブ コントロールであることを示すように変わり、スマートフォンのような小さいアイコンが右下隅に表示されます。

次の表では、ControlType プロパティを StyledPlatform に設定した場合の設計時および実行時のネイティブ iOS コントロールの外見をいくつか例図で示します。

コントロール 設計時 実行時
Styled Platform Styled Platform

TCalendar

TCalendar styled.png

TCalendar native DT.png

TCalendar styled.png

TCalendar native.png

TEdit

TEditStyled.png

TEditPlatform DT.png

TEditStyled.png

TEditPlatform.png

TListView

TListViewStyled RT.png

TListViewPlatform RT.png

TListViewStyled RT.png

TListViewPlatform RT.png

TPresentedScrollBox

TPresentedScrollBox Styled DT.png

TPresentedScrollBox Platform DT.png

TPresentedScrollBox Styled.jpg

TPresentedScrollBox Platform.jpg

TSwitch

  • オンの場合:

TSwitchStyledOn.png

  • オフの場合:

TSwitchStyledOff.png

  • オンの場合:

TSwitchPlatformOn DT.png

  • オフの場合:

TSwitchPlatformOff DT.png

  • オンの場合:

TSwitchStyledOn.png

  • オフの場合:

TSwitchStyledOff.png

  • オンの場合:

TSwitchPlatformOn.png

  • オフの場合:

TSwitchPlatformOff.png

アプリケーションへのネイティブ iOS コントロールの追加

アプリケーションにネイティブ iOS コントロールを追加するには:

  1. ネイティブ表示をサポートしているコンポーネントをフォームにドロップします(サポートされているコントロールのリストを参照)。
  2. オブジェクト インスペクタ[プロパティ]で、ControlType プロパティを Platform に設定します。設計時のコンポーネントのプレゼンテーションが変わります(「ネイティブ iOS コントロールの外見の変化」を参照)。
  3. iOS デバイスiOS シミュレータのどちらかでアプリケーションを実行します。

代わりに、実行時に ControlType の値を変更することも可能です。TEdit コントロールのネイティブ プレゼンテーションを選択するには、次のコードをアプリケーションに追加します。

Delphi の場合:
Edit1.ControlType := TPresentedControl.TControlType.Platform;
C++ の場合:
Edit1->ControlType = TPresentedControl::TControlType::Platform;

ネイティブ iOS コントロールと非ネイティブ コントロールの組み合わせ

非ネイティブ コントロールをネイティブ コントロールと一緒に使うのは推奨されません。ネイティブ コントロールはフォームの Z オーダーをサポートしていないからです。ネイティブ コントロールは常に、フォーム上の他のコントロールの一番上にきます。しかし、ネイティブ コントロールの Z オーダーをサポートしているため、ネイティブ コントロールと組み合わせることのできる非ネイティブ コントロールもあります。

次にリストには、ControlType プロパティを持ち、ネイティブ コントロールと組み合わせることができるコントロールがすべて一覧されています。

次にリストには、ControlType プロパティを持っていないが、ネイティブ コントロールと組み合わせることができるコントロールがすべて一覧されています。

ネイティブ iOS コントロールの利点

コントロールの中には、ネイティブ コントロールとして使用した場合に追加機能をサポートするものがあります。

TMemo と TEdit

  • 自動修正: 単語の入力中に候補が表示され、スペース キーを押してそれらを使用することができます。
  • テキスト置換: スペルミスと認識された単語に赤い下線が引かれます。その単語をタップすると、吹き出しに置換候補が表示されます。置換候補の単語は、テキストを選択して[置き換える...]ボタンをクリックしても表示されます。
  • 定義: 単語を選択して[辞書]をクリックすると、辞書におけるその単語の定義が表示されます。
  • ピリオドの簡易入力: スペース キーをダブル タップすると、ピリオドとスペースが挿入されます。
  • ショートカット: 入力時に語句に展開されます。
  • 電話番号やアドレスの検出。
メモiOS[設定|一般|キーボード]を選択して開いたページで、これらの機能の一部をオンまたはオフに設定することができます。

上記の機能の一部は、コントロールのコンテキスト メニューで提供されており、このため、メモ コントロールや編集コントロールのコンテキスト メニューは、StyledPlatform で変わってきます。

コントロール コンテキスト メニュー(Styled の場合) コンテキスト メニュー(Platform の場合)

TMemo

TMemo ContextMenu Styled RT.png

TMemo ContextMenu Platform RT.png

TEdit

TEdit ContextMenu Styled RT.png

TEdit ContextMenu Platform RT.png

TListView

リスト ビューには NativeOptions というプロパティがあり、そのサブプロパティを使用して、リスト ビューのネイティブ表示をカスタマイズすることができます。

ネイティブ iOS コントロールの制限事項

ネイティブ コントロールを使用する場合は、その前に、次の制限事項を考慮してください。

いくつかのコントロール固有の制限もあります。

TCalendar

カレンダー ビューのネイティブ表示では、丸 1 か月は表示されず、そのため、次のプロパティはサポートされていません。

TListView

コントロールの種類が Styled の場合と同様に、コントロールの種類が Platform であるリスト ビューの外観や動作も、ItemAppearance などのリスト ビュー コントロールのプロパティに応じて変わります。ただし、リスト ビューのネイティブ表示は、リスト ビュー コントロールに固有の制限事項にも影響されます。

  • スタイル関連のすべてのプロパティがネイティブ表示で効果があるわけではなく、スタイル付き外観モード用に作られたデフォルト以外のオプションはネイティブ表示では利用できません。ネイティブ表示のリスト ビューでは、ターゲット プラットフォームのデフォルトのスタイル設定、位置揃え、配置が使用されます。NativeOptions.Styled を有効にするとリストのネイティブ表示の外観をカスタマイズできますが、ControlTypeStyled の場合ほど多くの点でリストの外観をカスタマイズすることはできません。
  • 編集モード時の外観に指定できるのは、リスト ビューにチェック ボックスまたは削除ボタンを表示するかどうかだけです。それ以外の効果はありません。
  • スワイプ削除機能が有効なのは、編集モード時の外観として削除ボタンを表示するよう選択している場合だけです。
  • 画像およびボタンの位置揃えおよび配置を変更することはできません。画像は左側に、ボタンは右側に表示されます。
  • アニメーションとタイミングは、コントロールの種類が Styled であるリスト ビューとは異なる可能性があります。
  • 項目ヘッダーは常に固定されています。
  • 検索ボックスを常に最前面に表示する機能は、ヘッダーがない場合にのみ有効です。
  • OnItemClickEx イベントでは、クリック位置やクリックされたオブジェクトの情報が提供されません。

関連項目

サンプル