• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

ViewController programmatisch designen

ecco55

Tokyo Rose
Registriert
26.10.14
Beiträge
71
Hallo,

Ich möchte in Zukunft meine Apps nicht über das Storyboard designen sondern direkt im ViewController. Jetzt aber meine Frage, wie kann ich einem Button einer Methode zuweisen, also wie als wenn man das mit IBAction macht. Geht das auch mit IBAction ? Und wie kann man zwischen den ViewControllern wechseln, also das wenn man auf einen Button drückt, man zum nächsten ViewController wechselt.
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Ich möchte in Zukunft meine Apps nicht über das Storyboard designen sondern direkt im ViewController.
Kann man machen, aber warum?

Jetzt aber meine Frage, wie kann ich einem Button einer Methode zuweisen, also wie als wenn man das mit IBAction macht. Geht das auch mit IBAction ?
IBAction ist eigentlich nur eine Markierung für Xcode, damit der Interface Editor weiß, welche Methoden er zum Verknoten anzeigen soll. Ob nun Code oder Storyboard, das Target-Action Konzept ist immer das Selbe.

Und wie kann man zwischen den ViewControllern wechseln, also das wenn man auf einen Button drückt, man zum nächsten ViewController wechselt.
Da gibt es unterschiedliche Möglichkeiten und hängt davon ab, wie dein Programm aufgebaut ist.

Aber wenn du dir alle diese Fragen stellst, solltest du erst einmal verstehen, wie iOS intern funktioniert, bevor du alles per Code umsetzt.
 

ecco55

Tokyo Rose
Registriert
26.10.14
Beiträge
71
Ok danke für die Antwort. Werde mich darüber jetzt mal schlau machen :D
 

Kinoiva

Golden Delicious
Registriert
12.03.15
Beiträge
9
Es gibt durchaus Gründe alles in Code zu machen, aber nicht für jede App! Storyboard, Nibs und der Interface Builder sind großartige Hilfsmittel die du auch ruhig nutzen sollst, solange sie dir alles bieten was du brauchst. Es gibt Sachen, die kannst du damit nicht mehr machen, was ja logisch ist, da aus deinen storyboards und nibs letzten Endes Code wird! Also decken diese eine Teilmenge deiner Möglichkeiten ab. Wichtig ist, dass du den Einsatz von Nibs verstehst (Mittlerweile "xib", aber man sagt etwas ungenau immernoch nib), denn Storyboards sind kein Ersatz dafür, auch wenn oft falsch verstanden!
 

ecco55

Tokyo Rose
Registriert
26.10.14
Beiträge
71
Ok, ja weil mein Problem bei dem Storyboard ist es, dass wenn man eine Universal App macht, das alles durcheinander ist. Ich kann das nachher mal googeln wie das geht. Und ist es auch möglich ein Label im Storyboard, direkt im interfacebuilder mit einem localizedString auszustatten ? Oder muss man das Label dann erst implementieren und dann dort den Text ändern ?
 

Kinoiva

Golden Delicious
Registriert
12.03.15
Beiträge
9
Du kannst Storyboards auch für eine Universal App nutzen, kannst dann auch zwei verschiedene Storyboards nutzen, je nach deiner App. Storyboards können lokalisiert werden, kannst das aber auch im Code machen, it's up to you. Ich bevorzuge hier im Interface Builder Platzhalter einzugeben und im viewDidLoad dann die Strings zu setzen.
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Ok, ja weil mein Problem bei dem Storyboard ist es, dass wenn man eine Universal App macht, das alles durcheinander ist.
Das ist nun wirklich kein Grund, alles im Code zu machen. Damit sich dein User Interface an unterschiedliche Bildschirmdimensionen anpasst (das Problem hast du ja bereits durch Portrait und Landscape), musst du Einschränkungen (Constraints) für Autolayout setzen. Ab iOS 8 hast du durch die Size Classes noch mehr Möglichkeiten. Zum Thema Autolayout kannst du dir ja mal die WWDC Session 406 von 2013 anschauen.

Und ist es auch möglich ein Label im Storyboard, direkt im interfacebuilder mit einem localizedString auszustatten ?
Die Lokalisierung von Storyboards und xibs hat Apple mit der Einführung der Base Internationalization, vor allem im Zusammenspiel mit Autolayout, deutlich vereinfacht. Auch dies ist also kein Grund mehr, alles im Code zu machen.
 

ecco55

Tokyo Rose
Registriert
26.10.14
Beiträge
71
Ok, überzeugt. Ich bleibe dann weiterhin bei den Storyboards, nur muss ich mir das mit den Constraints nochmal angucken, das geht bei mir noch nicht so richtig. Aber vielen dank für die Hilfe.