Wie ein iPhone des Albums „E-Mail-Foto, MMS, Zuordnen zu kontaktieren ..“ wie gleitende Ansicht erstellen?

StackOverflow https://stackoverflow.com/questions/2486362

Frage

Ich habe gelernt, wie man einen View-Controller erstellen und machen die Ansicht Folie in von unten. Aber das eine in iphone Album sieht anders aus. Es dunkelt den Rest des sichtbaren Teils des Bildschirms, wenn die Ansicht hineinrutscht. Wie ich ein ähnliches erstellen kann? Ich mag Schaltflächen hinzufügen wie „speichern, Abbrechen, E-Mail“ usw. in die Schiebe Ansicht.

War es hilfreich?

Lösung

Dies ist eigentlich kein typisches "Gleiten" (oder modal) Ansicht, sondern ein UIActionSheet . Grundsätzlich ist die Idee ist, dass Sie die Ansicht (in der Regel in Ihrem View-Controller) mit

initialisieren
UIActionSheet *sheet = 
    [[[UIActionSheet alloc] initWithTitle:@"My sheet"
                                 delegate:self
                        cancelButtonTitle:@"Cancel"
                   destructiveButtonTitle:nil
                        otherButtonTitles:@"Email", @"MMS", nil] autorelease];

Dann präsentieren sie mit

[sheet showInView:[self view]];

Sobald es auf dem Bildschirm ist, die Delegaten (self oder Ihre View-Controller in diesem Beispiel) wird die UIActionSheetDelegate Nachricht actionSheet:clickedButtonAtIndex: (wie auch einige andere, finden Sie in die Dokumentation für weitere Informationen), so dass Sie <UIActionSheetDelegate> auf Ihre Interface-Deklaration für die Delegaten hinzugefügt werden möchten und implementieren diese Methode, wie

- (void)actionSheet:(UIActionSheet *)actionSheet 
    clickedButtonAtIndex:(NSInteger)buttonIndex {
    switch(buttonIndex) {
        // Do things based on which button was pushed
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top