13 Şubat 2012 Pazartesi

iPhone'da Uyarı Ekranı Çıkarmak












iPhone'da en sık kullanılan ekranlardan birisi de pop-up şeklinde karşımıza çıkan UIAlertView ekranıdır. Bu ekran genellikle kullanıcıya bir uyarı vermek ya da seçim yaptırmak amacıyla ekrana getirilir. En basit haliyle kullanıcıya bir mesaj verme amaçlı kullanımı şu şekildedir;


UIAlertView *av = [[[UIAlertView alloc] initWithTitle:@"Uyarı"

  message:@"Ben uyarıyım"

delegate:self 

cancelButtonTitle:@"Tamam" 

otherButtonTitles:nil]autorelease];


Burada kullanıcıya "Ben uyarıyım" yazılı bir mesaj gönderilecektir. Kullanıcı Tamam düğmesine bastığında da mesaj kendiliğinden kaybolacaktır.


Eğer kullanıcıdan Evet - Hayır gibi bir seçim yapması bekleniyorsa UIAlertView aşağıdaki gibi çağrılır;


UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Uyarı"

  message:@"İptal vela Devam" delegate:self cancelButtonTitle:NSLocalizedString(@"Cancel", @"Cancel") otherButtonTitles:NSLocalizedString(@"Continue", @"Continue"),nil];

alert.delegate = self;

    alert.tag = 10;

[alert show];


Burada kullanıcının karşısına iki adet buton çıkacak ve kullanıcıdan bir komut beklenecektir. Komutun karşılığını alacak fonksiyon aşağıdaki şekildedir;


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

    if(buttonIndex == 1 && alertView.tag == 10){

// tamam tıklandı

    } else if(buttonIndex == 0 && alertView.tag == 10) {

// iptal tıklandı

    }

}


Burada basılan düğmenin index'ine göre istenilen işlemi yapabilirsiniz. Eğer kodunuzda birden fazla UIAlertView kullanıyorsanız ve delegate olarak aynı ViewController seçiliyse kullanıcıdan gelen komutları karıştırmamak için UIAlertView'in tag değerini ayarlamanız gerekir. Örneğimizde UIAlertView tag 10 olarak belirlenmiştir. Delegate metodun içinde de tag değerinin 10 olup olmadığı kontrol edilerek buton aksiyonunun doğru UIAlertView'den geldiği anlaşılır.


Hiç yorum yok:

Yorum Gönder