UIBarButtonItem mit Image und Text

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • UIBarButtonItem mit Image und Text

    Guten Morgen Leute,

    ich würde gerne ein UIBarButtonItem erstellen, welches ein UIImage und einen Text enthält. Darüber hinaus hätte ich das gerne im UIBarButtonItemBorderStyle.

    Mein Code fügt zwar Bild und Text hinzu, hat aber noch ein paar Mängel…

    Quellcode

    1. UIImage *image = [UIImage imageNamed:@"palette"];
    2. UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 15, 15)];
    3. [imgView setImage:image];
    4. UILabel *buttonLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 0, 100, 15)];
    5. [buttonLabel setFont:[UIFont boldSystemFontOfSize:13.0]];
    6. [buttonLabel setText:@"Bauteile"];
    7. [buttonLabel setBackgroundColor:[UIColor clearColor]];
    8. [buttonLabel setTextColor:[UIColor whiteColor]];
    9. UIButton *button = [[UIButton alloc] init];
    10. [button addSubview:imgView];
    11. [button addSubview:buttonLabel];
    12. [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchDown];
    13. UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];
    14. [item setStyle:UIBarButtonItemStyleBordered];
    15. self.navigationItem.leftBarButtonItem = item;
    Alles anzeigen


    Und zwar ist das UIBarButtonItem nicht 'bordered' und des weiteren lässt sich das Atem nur anklicken, wenn es im navigationItem vom ViewController ist. wenn ich es als toolBarItem hinzufüge wird der ClickHandler nicht aufgerufen.

    Jemand eine Idee, wie die Probleme zu lösen sind?

    Danke im voraus für jede Antwort.
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • macmoonshine schrieb:

    Wenn Du einem UIBarButtonItem einen eigenen View hinzufügst, musst Du Dich um alles selber kümmern. Sprich Rahmen und Hintergrund selber zeichnen und auch die Ereignisverarbeitung muss Du über den Button machen.



    Morgen,

    die Ereignisverarbeitung hab ich ja schon für den Button implementiert über addTarget, das geht aber wie gesagt nur wenn das Atem im navigationItem sitzt. Gibt es zufällig irgendwo eine Doku, wie man den rahmen der standard UIBarButtonItems nachbauen kann?
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • macmoonshine schrieb:

    Bei iOS 7 ist die Sache ja einfach ;) Für den Rahmen unter iOS 6 würde ich es mal über den Buttontyp Custom versuchen, und den Rahmen über den Button-Layer definieren.



    Jetzt könnte ich mir die Frage stellen, ob sich der Aufwand vor der Umstellung auf iOS7 noch lohnt, wenn der Rahmen dann eh mehr oder minder wegfällt :D

    PS: ich freu mich schon auf eure neue Auflage :)
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • Bis du so einen Button so gepinselt hast, das er wirklich aussieht wie die Apple Buttons, wirst du ein "wenig" Zeit brauchen. Mit abgerundeten Ecken ist es da nicht getan.



    Der iOS 7 Marktanteil bei den Downloads liegt momentan bei 74%. Weihnachten werden nochmal neue iGeräte vom Christkind verteilt.

    Musst du entscheiden ;)

    Gruß
    Seminare, Artikel, Code. ObjectiveCeeds - alles für die Apfelzucht.
  • Manfred Kreß schrieb:

    Bis du so einen Button so gepinselt hast, das er wirklich aussieht wie die Apple Buttons, wirst du ein "wenig" Zeit brauchen. Mit abgerundeten Ecken ist es da nicht getan.

    Jo, absolut korrekt.

    In Anbetracht der hohen iOS-7-Verbreitung kann man mit abgerundeten Ecken und einer geschickt gewählten Hintergrundfarbe jedoch vielleicht eine annehmbare Sparlösung für iOS 6 hinbekommen.
    „Meine Komplikation hatte eine Komplikation.“
  • Das Problem ist im gründe folgendes:
    Es existiert ein Button, der Bild und Test beinhaltet, allerdings isst da der Text mit in dem Bild und die Schriftart passt nicht zum Rest der Apple-Buttons.

    Weiß jemand welche SchriftartApple in den UIBarButtonItems verwendet? Dann könnte ich als Übergangslösung einfach den Schriftzug anpassen.
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io