0

iOS アプリで、起動時に一度ユーザーに質問したいと考えています。テキストと応答するボタンを表示するビュー コントローラーを作成しました。

また、アプリの委任ファイルにこれがあり、以前に回答されたかどうかを検出します。

if(![[NSUserDefaults standardUserDefaults] valueForKey:@"questionAnswered"])

値を変更するメソッドをボタンに追加する方法を知っていquestionAnsweredます。

そのView Controllerを表示するには、上記のifステートメントに何を入れますか?

4

2 に答える 2

1

最初のView Controllerでこれを確認し、Terms and Conditionsビューを提示することをお勧めします. 以下は、View Controller からのビューを初期化して表示します。

UIViewController *tncView = [self.storyboard instantiateViewControllerWithIdentifier:@"TermsViewController"];
[tncView setModalInPopover:YES];
[tncView setModalPresentationStyle:UIModalPresentationFormSheet];
[tncView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];

[self presentViewController:tncView animated:YES completion:NULL];

次に、T&C ビュー コントローラーから終了します。

[self dismissViewControllerAnimated:YES completion:NULL];

更新: ビューに .xib ファイルを使用している場合は、次のように初期化します。

termsViewController *tncView = [[termsViewController alloc] initWithNibName:@"termsView" bundle:nil];

termsViewControllerは EULA のビュー コントローラーのクラス名で、は拡張子を除いたxib termsView/nib ファイルの名前です (iOS 4.0 以降では拡張子は必要ありません)。

nib/xib を使用せず、View Controller をプログラムで記述した場合:

termsViewController *tncView = [[termsViewController alloc] init];

ストーリーボードを使用する場合は、上に投稿したものを使用します。

    UIViewController *tncView = [self.storyboard instantiateViewControllerWithIdentifier:@"TermsViewController"];

ビュー コントローラーを初期化したら、そのプレゼンテーション プロパティを設定します。

[tncView setModalInPopover:YES];
[tncView setModalPresentationStyle:UIModalPresentationFormSheet];
[tncView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];

そして最後に、ビューを提示します。私はあなたの最初のView ControllerのviewDidAppearメソッドでそれを行います:

- (void)viewDidAppear:(BOOL)animated
{
    [self presentViewController:tncView animated:YES completion:NULL];
}

これがうまくいくかどうか教えてください。

于 2013-03-12T20:52:14.107 に答える
0

Apple は HIG で次のように述べています。

iOS アプリにエンド ユーザー ライセンス契約 (または EULA) を提供すると、App Store に表示され、ユーザーがアプリを入手する前にそれを読むことができます。

可能であれば、ユーザーが最初にアプリを起動するときに、EULA への同意を示す必要は避けてください。同意が表示されなくても、ユーザーはすぐにアプリを楽しむことができます。ただし、これは好ましいユーザー エクスペリエンスですが、すべての場合に実現できるとは限りません。アプリ内に使用許諾契約を表示する必要がある場合は、ユーザー インターフェイスと調和し、ユーザーの不便を最小限に抑える方法で表示してください。

可能であれば、アプリの説明または EULA 内に免責事項を記載してください。その後、ユーザーは App Store で免責事項を表示でき、ビジネス要件とユーザー エクスペリエンスのニーズのバランスを取ることができます。

Apple は、カスタム EULA を iTunes Connect に配置する場所を提供しています。

于 2013-03-12T20:52:58.913 に答える