UIAlertView, как только пользователь открывает приложение.Показано один раз - PullRequest
0 голосов
/ 04 августа 2011

Я хочу показать UIAlertView, как только пользователь откроет приложение.Он попросит у них адрес электронной почты.Но я хочу, чтобы это показывалось только один раз.Поэтому, когда пользователь снова открывает приложение, окно uialertview не должно появляться.И UIAlertView будет содержать 2 кнопки в этом.«Отклонить» и «Да» .. кнопка отклонения будет продолжать работу с приложением.Но «Да» приведет их к другому виду ».

Спасибо :) Редактировать:

- (void)viewDidLoad {
    [super viewDidLoad];

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

    UIAlertView *prompt = [[UIAlertView alloc] initWithTitle:@"Enter your email" 
                                                     message:@"\n\n\n" 
                                                    delegate:nil 
                                           cancelButtonTitle:@"Cancel" 
                                           otherButtonTitles:@"Enter", nil];

    textField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 50.0, 260.0, 25.0)]; 
    [textField setBackgroundColor:[UIColor whiteColor]];
    [textField setPlaceholder:@"enter email here"];
    [prompt addSubview:textField];



    [prompt show];
    [prompt release];


    //[textField becomeFirstResponder];

}
}

Хорошо, это код на данный момент, я застрял на том, как идет письмобыть отправленным, как только пользователь нажмет ввод.

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

Вы можете использовать NSUserDefaults для сохранения boolean между сессиями.

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

// save 
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:true] forKey:@"hasRunBefore"];

// load 
[[NSUserDefaults standardUserDefaults] objectForKey:@"hasRunBefore"] boolValue];
1 голос
/ 04 августа 2011

Во-первых, необходимо сделать себя делегатом для UIAlertView, чтобы вы знали, когда пользователь нажал Отмена или Ввод. Итак, это:

UIAlertView *prompt = [[UIAlertView alloc] initWithTitle:@"Enter your email" 
                                                 message:@"\n\n\n" 
                                                delegate:self
                                       cancelButtonTitle:@"Cancel" 
                                       otherButtonTitles:@"Enter", nil];

Обратным вызовом делегата является этот метод:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

После этого вы можете получить адрес электронной почты из экземпляра textField, который вы создали и добавили в представление предупреждений.

1 голос
/ 04 августа 2011

Вы можете сохранить адрес электронной почты в NSUserDefaults (я полагаю, вы уже делаете это, если вы запрашиваете его только при первом запуске вашего приложения); каждый раз, когда приложение запускается, вы проверяете, есть ли адрес электронной почты (NSUserDefaults); если нет, вы отображаете UIAlertView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...