iOS iPad UIActionSheet Problem

Ich bin derzeit an der Entwicklung einer Anwendung muss die option "teilen" über mehrere Dienste, wie E-Mail, twitter.

Zu diesem, ich habe eine UIBarButtonItem kodiert und, wenn Sie berührt, löst dies:

UIActionSheet *sheet = [[UIActionSheet alloc] 
                            initWithTitle:@""
                            delegate:self
                            cancelButtonTitle:nil
                            destructiveButtonTitle:nil
                            otherButtonTitles:nil];

    [sheet addButtonWithTitle:@"Email"];
    [sheet addButtonWithTitle:@"Tweet"];
    [sheet addButtonWithTitle:@"Cancel"];

    sheet.cancelButtonIndex = sheet.numberOfButtons-1;

    [sheet showFromRect:self.view.bounds inView:self.view animated:YES];
    [sheet release];

In diesem Zusammenhang zu erkennen, welche Taste ausgewählt ist:

clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == actionSheet.cancelButtonIndex) { return; }
    switch (buttonIndex) {
        case 0:
        {

            [self emailThis];
            break;
        }
        case 1:
        {
            [self tweetThis];
            break;
        }
    }

Diesem Werk ein behandeln auf dem iPhone. Aber leider zeigt es fälschlicherweise auf dem iPad. Es sieht aus wie es versucht, um die Anzeige der UIPopoverController, aber es ist positioniert Zentrum der navbar mit praktisch keine Höhe.

Ich habe mir in den UIPopoverController, aber ich kann nicht scheinen, um herauszufinden, wie es zu benutzen mit Tasten. Gibt es trotzdem kann ich anpassen, der code oben, um richtig angezeigt die Schaltflächen, als Sie versucht sich schon.

Vielen Dank,

Ryan

PS: ich bin neu in objective-c/iOS-Programmierung, also seid bitte spezifisch. Danke 🙂

EDIT:
Ich habe versucht mit:

[sheet showFromBarButtonItem:[self share] animated:YES];

Aber es funktioniert nicht. Hier ist mein code für den button:

UIBarButtonItem *share = [[UIBarButtonItem alloc] 
                                initWithTitle:@"Share"                                            
                                style:UIBarButtonItemStyleBordered 
                                target:self 
                                action:@selector(loadShare)];
    self.navigationItem.rightBarButtonItem = share;
    [share release];

Auch hier ist der code in der .h-Datei:

@interface DetailViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
UIBarButtonItem *share;
}

@property (nonatomic, retain) IBOutlet UIBarButtonItem *share;

Hier ist die debug-Fehler:

Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '* -[__NSPlaceholderArray
initWithObjects:count:]: attempt to insert null-Objekt aus dem Objekte[0]'

InformationsquelleAutor ryryan | 2012-06-09
Schreibe einen Kommentar