• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Add a UitableView in UIalert

  • Ersteller Ersteller Mini-mc
  • Erstellt am Erstellt am

Mini-mc

Gast
Hallo,

Ich habe folgendes Problem. Ich möchte ein TableView und ein TextField in ein ViewAlert einfügen. Ich habe dazu folgenden Programmcode erstellt:
Code:
        UIAlertView *Daten = [[UIAlertView alloc]init];
        eNR = [[UITextField alloc]init];
        eNR.frame = CGRectMake(20, 45, 245, 25);
        [eNR setBackgroundColor:[UIColor blueColor]];
        [eNR setPlaceholder:@"Auftragsnummer"];
        [eNR setTag:1];
        tableFZ = [[UITableView alloc]init];
        tableFZ.delegate = self;
        tableFZ.dataSource =self;
        tableFZ.tag =1;
        tableFZ.frame = CGRectMake(20, 70, 300, 200);
        [tableFZ setBackgroundColor:[UIColor clearColor]];

        [Daten setTitle:@"Transportiert"];
        [Daten setMessage:@"Hier Details eingeben:"];
        Daten.autoresizesSubviews = YES;
        
        Daten.delegate = self;
        [Daten addButtonWithTitle:@"Ok"];
        [Daten addSubview:eNR];
        [Daten addSubview:tableFZ];
        [Daten show];

Was mache ich falsch?
Es wird zwar ein Alert angezeigt jedoch nur mit Titel und Message.
Vielen Dank im voraus!
 
Du kannst keine subViews zu einem UIAlertView hinzufügen (seit iOS7?).
Die sinnvollste Methode ist wohl einen eigenen View zu bauen.
 
  • Like
Reaktionen: Mini-mc
Meinst du View als Klasse oder Instanz in der Klasse ?
 
Ich meinte eigentlich einen ganz eigenen AlertView. (Subclassing von UIAlertView funktioniert übrigens auch nicht)
Es gibt wohl auch noch einen View in UIAlertView, den man für eigene Zwecke gebrauchen könnte. Der scheint aber nicht public zu sein.
Deshalb:
Code:
[alertView setValue:myOwnView forKey:@"accessoryView"];
Habe ich allerdings noch nicht getestet.
 
  • Like
Reaktionen: Mini-mc
Okay, vielen Dank.
Weist du zufällig ob man dann noch mal eine eigene Header und Main Datei erstellen muss?
und diese dann in den AlertView implementiert ?
Vielen Dank!
 
Ich weiß leider nicht genau, was du jetzt wissen möchtest.

Zunächst einmal eine Anmerkung. Es hat schon seinen Grund, dass ein UIAlertView nicht beliebig erweiterbar ist. Ich denke in deinem Fall (den ich nicht so ganz verstehe) ist ein ganzseitiger modaler View vielleicht sinnvoller.

Wenn es denn doch ein AlertView sein soll, musst du ihn selberbauen oder gucken, ob es nicht vielleicht schon andere gemacht haben:
https://github.com/wimagguc/ios-custom-alertview

Von meiner oben angegebenen "Lösung" mit dem "accessoryView" kann ich dir jetzt definitiv abraten. ;)
Ich habe es mal getestet. Funktioniert bei einem normalen AlertView ganz ok. Aber schon mit einem AlertView vom Stil UIAlertViewStylePlainTextInput (den du ja offensichtlich brauchst) kommt es zu Problemen.