iOSアプリでのスクリーンレットの使用
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
あなたがしたら 準備 Liferayの画面を使用するようにiOSのプロジェクトを、アプリでのscreenletsを使用することができます。 Liferayスクリーンレットはたくさんありますが、スクリーンレット リファレンスドキュメント記載されています。 このチュートリアルでは、SwiftおよびObjective-Cで記述されたiOSアプリにスクリーンレットを挿入および構成する方法を示します。 また、それらをローカライズする方法についても説明します。 あなたはすぐにスクリーンレットマスターになります\!
iOSアプリでのスクリーンレットの挿入と構成
iOSプロジェクトでスクリーンレットを使用する最初のステップは、プロジェクトに新しいUIViewを追加することです。 Interface Builderで、ストーリーボードまたはXIBファイルに新しいUIViewを挿入します。 これを図1に示します。
次に、スクリーンレットの名前をカスタムクラスとして入力します。 たとえば、ログインスクリーンレットを使用している場合は、クラスとしてログインスクリーンレットを入力します。
ここで、 ViewController
クラスでScreenletのデリゲートプロトコルに準拠する必要があります。 たとえば、ログインスクリーンレットのデリゲートクラスは LoginScreenletDelegate
です。 これは、次のコードに示されています。 onLoginResponse
および onLoginError
の機能を実装する必要があることに注意してください。 これは、コード内のコメントで示されています。
class ViewController: UIViewController, LoginScreenletDelegate {
...
func screenlet(screenlet: BaseScreenlet,
onLoginResponseUserAttributes attributes: [String:AnyObject]) {
// handle succeeded login using passed user attributes
}
func screenlet(screenlet: BaseScreenlet,
onLoginError error: NSError) {
// handle failed login using passed error
}
...
CocoaPodsを使用している場合、View ControllerにLiferay画面をインポートする必要があります。
import LiferayScreens
Screenletのデリゲートプロトコルが ViewController
クラスに準拠したので、Interface Builderに戻り、ScreenletのデリゲートをView Controllerに接続します。 使用しているスクリーンレットに複数のアウトレットがある場合、それらも割り当てることができます。
注現在のXcodeが有するいくつかの の問題 スイフトソースコードへの出口を接続します。 これを回避するには、デリゲートデータ型を変更するか、コードでアウトレットを割り当てます。 View Controllerで、次の手順を実行します。
-
スクリーンレットへの参照を保持するアウトレットを宣言します。 Interface Builderで問題なく接続できます。
-
スクリーンレットのデリゲートに
viewDidLoad
メソッドを割り当てます。 これは通常、Interface Builderで行われる接続です。
これらの手順は、ログインスクリーンレットのView Controllerの次のコードに示されています。
class ViewController: UIViewController, LoginScreenletDelegate {
@IBOutlet var screenlet: LoginScreenlet?
override func viewDidLoad() {
super.viewDidLoad()
self.screenlet?.delegate = self
}
...
驚くばかり\! これで、アプリでスクリーンレットを使用する方法がわかりました。 Objective-Cコードからスクリーンレットを使用する必要がある場合は、次のセクションの指示に従ってください。
Objective-Cのスクリーンレットを使用する
Objective-CコードからScreenletクラスを呼び出す場合、追加のヘッダーファイルをインポートする必要があります。 すべてのObjective-Cファイルにヘッダーファイル LiferayScreens-Swift.h
をインポートするか、プリコンパイラヘッダーファイルを構成できます。
最初のオプションでは、すべてのObjective-Cファイルに次のインポート行を追加します。
#import "LiferayScreens-Swift.h"
または、次の手順に従ってプリコンパイラヘッダーファイルを構成できます。
-
プリコンパイラヘッダーファイル(例:
PrefixHeader.pch
)を作成し、プロジェクトに追加します。 -
インポート
LiferayScreens-Swift.h
あなただけのプリコンパイラのヘッダファイルで作成されました。 -
ターゲットの次のビルド設定を編集します。
path / to / your / file /
をPrefixHeader.pch
ファイルへのパスに置き換えてください:- プリコンパイルプレフィックスヘッダー:
はい
- プレフィックスヘッダー:
path / to / your / file / PrefixHeader.pch
- プリコンパイルプレフィックスヘッダー:
プリコンパイラヘッダーファイル PrefixHeader.pch
をテンプレートとして使用できます。
スーパー\! これで、アプリでObjective-Cコードのスクリーンレットを使用する方法がわかりました。
スクリーンレットのローカライズ
Appleの 標準メカニズム に従って、スクリーンレットにローカライズを実装します。 注:Screenletは複数の言語をサポートする場合がありますが、アプリではそれらの言語もサポートする必要があります。つまり、スクリーンレットの言語のサポートは、アプリがその言語をサポートしている場合にのみ有効です。 言語をサポートするには、プロジェクトの設定でローカライズとして追加してください。
行く方法\! これで、iOSアプリでスクリーンレットを使用する方法がわかりました。