2014-04-28 2 views
1

응용 프로그램 기능에 대해 설명하기 위해 응용 프로그램을 시작할 때 표시되는 alertview가 포함 된 응용 프로그램이 있습니다. 내 alertView에서 "다시 표시하지 않음"버튼을 만들고 싶기 때문에 사용자가 내 앱을 사용할 때마다 동일한 경고를 볼 필요가 없습니다. 그렇다면 사용자가이 버튼을 선택한 후에 alertView가 표시되지 않게하려면 어떻게합니까? appDelegate에서 작업해야합니까, 아니면 내 alertview가 팝업되는 viewcontroller에서 사용해야합니까?"다시 표시하지 않음"버튼을 추가하여 AlertView가 나타나지 않게하는 방법은 무엇입니까?

답변

1

UIAlertView에서 변경할 수 없으므로 값을 NSDefault에 저장합니다. UIAlertView가 표시되면

그래서, "읽기"등 applicationDidBecomeActive 같은 앱 위임 방법 중 하나를 검색하고 UIAlertView을 표시하는 if 문에 조건으로 사용할 나타냅니다 뭔가이 값을 설정합니다.

하자 당신의 UIAlertView가 표시되면, "읽지 않은"의미 NSInteger = 0을 가지고 1로 설정하고 NSDefault에 저장 말한다.

if(alertHasBeenRead == 0) 
{ 
    //bring up alert view 
} 

이어서 대리자 콜백 중 하나에서이 값을 0 이외의 다른 값으로 설정합니다.

희망이 도움이됩니다.

+2

대단히 감사드립니다. 그러나 사용자가 적극적으로 "다시 표시하지 않음"버튼을 선택하고 그 후에 만 ​​경고 표시를 더 이상 표시하지 않도록하고 싶습니다. – abha

+0

@abha 나는 대답이 조금 늦을 수도 있지만 아래의 나의 대답을 확인하고 그것이 도움이되는지 알려주세요! – Creagen

0

이 시도 :

if (![@"1" isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:@"alert"]]){ 


    UIAlertController *alert = [UIAlertController 
           alertControllerWithTitle:NSLocalizedString(@"Information", @"The title of an alert.") 
           message:NSLocalizedString(@"Some text goes here.", @"The message of an alert.") 
           preferredStyle:UIAlertControllerStyleAlert]; 

    UIAlertAction *ok = [UIAlertAction 
         actionWithTitle:NSLocalizedString(@"OK", @"A common affirmative action title, like 'OK' in english.") 
         style:UIAlertActionStyleDefault 
         handler:^(UIAlertAction * action) 
         { 

         }]; 
    UIAlertAction *dontshowagain = [UIAlertAction 
            actionWithTitle:NSLocalizedString(@"Don't Show Again", @"A common decline action title, like 'NO' in english.") 
            style:UIAlertActionStyleDefault 
            handler:^(UIAlertAction * action) 
            { 
             [[NSUserDefaults standardUserDefaults] setValue:@"1" forKey:@"alert"]; 
             [[NSUserDefaults standardUserDefaults] synchronize]; 

            }]; 

    [alert addAction:ok]; 
    [alert addAction:dontshowagain]; 

    [self presentViewController:alert animated:YES completion:nil]; 

이 도움이 알려줘!

관련 문제