HTML

Hackstock

Hack the planet! Hackers unite!

Címkék

Címkefelhő

MessageBox... helyett UIAlertSheet

2008.01.05. 17:15 :: theshadow

Nézegettem a header-eket és azon gondolkodtam, hogy most melyikről kellene írni. Rátaláltam a UIAlertSheet-re, ami hasonlóan működik, mint a Windows-os megfelelője, a MessageBox.
A következő példát ütöttem össze.
    NSArray *buttons = [NSArray arrayWithObjects:@"Igen", @"Nem", nil];
    UIAlertSheet* alertSheet = [[UIAlertSheet alloc] initWithTitle:@"Alert cím" buttons:buttons defaultButtonIndex:-1 delegate:self context:self];
    [alertSheet setBodyText:@"Ez egy alert."];
    if (button == 1){
        [alertSheet presentSheetFromAboveView:tvMessage];
    }else{
        [alertSheet popupAlertAnimated:YES];
    }
Egy tömbbe a megjelenítendő gombok nevét kell bedobálni. Itt figyeljük meg, hogy egy lezáró nil-t is hozzá kell adni. Az objektum inicializálása során megadhatjuk a címet, a gombok címeit, az alapértelmezett gomb sorszámát - -1 esetén nincs ilyen -, delegált objektumot és kontextust. Ezután egy üzenetet is megadhatunk, ami majd szépen a cím és a gombok között fog megjelenni.
Ide még egy kis magyarázat kívánkozik. A button és a tvMessage úgy kerül a képbe, hogy előzőleg egy UINavigationBar-t tettem ki és a szokásos log view-t. A navigációs sor két gombjának delegált metódusában helyeztem el a kódrészletet, így szabályozni tudtam, hogy a kétfajta megjelenítési módból melyik jelenjen meg.
Két fajta megjelenítési mód?
Az első, amikor alulról csúszik fel, a másik, amikor a képernyő közepén jelenik meg. Mindkét esetben modálisan jelenik meg, ami azt jelenti, hogy az input fókuszát nem lehet tőle elvenni.
- (void)alertSheet:(UIAlertSheet*)alertSheet buttonClicked:(int)button
{
    [alertSheet dismissAnimated:YES];
}
Végül említsük meg, hogy a delegált metódusban tüntessük el a UIAlertSheet-et, animálva vagy animáció nélkül tetszés szerint.
Sajnos a modalitás miatt nem tudtam képet készíteni, ezért is kívánok hozzá jó szórakozást.

Szólj hozzá!

Címkék: iphone appdev

A bejegyzés trackback címe:

https://hackstock.blog.hu/api/trackback/id/tr37285875

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.