iOSスクリーンレットのUIの作成
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
iOS用Liferay Screensでは、スクリーンレットのUIはテーマと呼ばれます。 すべてのスクリーンレットには、少なくとも1つのテーマが必要です。 テーマには次のコンポーネントがあります。
-
XIBファイル:テーマがエンドユーザーに提示するUIコンポーネントを定義します。
-
Viewクラス:UIをレンダリングし、ユーザーインタラクションを処理し、Screenletクラスと通信します。
最初に、新しいXIBファイルを作成し、Interface Builderを使用してスクリーンレットのUIを構築します。 多くの場合、スクリーンレットのアクションはテーマからトリガーする必要があります。 これを実現するには、 restoreIdentifier
プロパティを使用して、アクションをトリガーする各UIコンポーネントに一意のIDを割り当てるようにしてください。 ユーザーは、UIコンポーネントと対話することでアクションをトリガーします。 アクションがUIの状態のみを変更する(つまり、UIコンポーネントのプロパティを変更する)場合、通常どおり、そのコンポーネントのイベントを IBAction
メソッドに関連付けることができます。 restoreIdentifier
を使用するアクションは、サーバー要求を行うアクションやデータベースからデータを取得するアクションなど、Interactorを必要とするアクションによる使用を目的としています。
たとえば、ブックマークの追加スクリーンレットのUIには、ブックマークのURLとタイトルを入力するためのテキストボックスが必要です。 このUIには、スクリーンレットのアクションをサポートするボタンも必要です。Liferayインスタンスにブックマークを送信します。 XIBファイル AddBookmarkView_default.xib
は、このUIを定義します。 ボタンはスクリーンレットのアクションをトリガーするため、 restoreIdentifier = "add-bookmark"
が含まれます。
次に、スクリーンレットのビュークラスを作成する必要があります。 このクラスは、先ほど定義したUIを制御します。 BaseScreenletView
クラスでは、ScreensはすべてのViewクラスに必要なデフォルト機能を提供します。 したがって、Viewクラスは、 BaseScreenletView
を拡張して、スクリーンレットに固有の機能を提供する必要があります。 UIをサポートするには、標準の @IBOutlet
と @IBAction
を使用して、すべてのXIBのUIコンポーネントとイベントをViewクラスに接続します。 また、ゲッターとセッターを実装して、UIコンポーネントから値を取得したり、UIコンポーネントに値を設定したりする必要があります。 Viewクラスは、必要なアニメーションまたはフロントエンドロジックも実装する必要があります。
たとえば、 AddBookmarkView_default
はブックマークスクリーンレットのビュークラスの追加です。 このクラスは BaseScreenletView
を拡張し、XIBのテキストフィールドへの @IBOutlet
参照を含みます。 これらの参照のゲッターにより、テーマは、ユーザーが対応するテキストフィールドに入力したデータを取得できます。
import UIKit
import LiferayScreens
class AddBookmarkView_default: BaseScreenletView {
@IBOutlet weak var URLTextField: UITextField?
@IBOutlet weak var titleTextField: UITextField?
var URL: String? {
return URLTextField?.text
}
var title: String? {
return titleTextField?.text
}
}
Interface Builderで、ViewクラスをXIBファイルのカスタムクラスとして指定する必要があります。 たとえば、Add Bookmark Screenletでは、 AddBookmarkView_default
がInterface Builderで AddBookmarkView_default.xib
ファイルのカスタムクラスとして設定されます。
CocoaPodsを使用している場合は、カスタムクラスに有効なモジュールを明示的に設定してください グレー表示された現在の* デフォルト値は、モジュールのみを示しています。