Ich bin kurz davor mein unschuldiges Macbook aus dem Fenster zu werfen.
Ich habe eine ganz einfache Aufgabe. Eigentlich.
Ich habe eine iPad fokussierte App. Ausschliesslich Landscape
Diese soll auch auf dem iPhone laufen.
Ich habe einen UIButton als Leiste links oben. Ich habe einen UIButton als Leiste rechts oben. Ich habe einen UIButton als Logo-Halterung in der Mitte. Screenshot ist anbei.
Ich kann den linken Button oben links antackern. Das mache ich indem ich im Storyboard rechts unten auf "new Constraint" klicke, dann die roten Dinger für links und oben anklicke. Constraint hinzufügen. Passt.
Selbiges für die Leiste rechts oben. Den mittleren Button für das Logo habe ich vertikal oben angetackert.
Jetzt kommen aber die Probleme:
1. Von dem mittleren Button ziehe ich per Control-Klick eine blaue Linie in den View. Dann stelle ich "Center horizontally in safe area" ein. Das reicht Xcode aber nicht und ich bekomme einen roten Rahmen. Es sieht so aus als würde Xcode mich zwingen eine feste Width einzugeben. Also mache ich das. Ich will aber keine feste Width. Ich will dass die Width beim iPad weiter ist als beim iPhone. Ich will also keine px-width, sondern eine %-width. Das scheint nicht zu gehen?
2. Das viel nervigere Problem: Die Balken überschneiden sich in der iPhone Ansicht, da sie ja die breite der iPad Ansicht haben, da es ja primär eine iPad App sein soll. Ich will dass die Balken aka Buttons links und rechts oben sich in der iPhone Ansicht automatisch verkleinern. Also auch hier will ich eine %-width und keine px-width. Das scheint nicht zu gehen?
Gibt es wirklich keine %-width? Das wäre sooooo viel einfacher. Linker und rechter Balken fest in die Ecken getackert. Breite auf 35% gestellt. Mittlerer Button in die Mitte getackert, Breite auf 10% gestellt. Und ich hätte auf jedem Gerät immer die genau gleiche Ansicht. Genau das will ich!
Wie zum Teufel löse ich das? Bitte bewahrt mein Macbook vor einem Flug aus dem Fenster!!
Bildschirmfoto 2017-11-28 um 15.53.58.pngBildschirmfoto 2017-11-28 um 16.12.09.png
Ich habe eine ganz einfache Aufgabe. Eigentlich.
Ich habe eine iPad fokussierte App. Ausschliesslich Landscape
Diese soll auch auf dem iPhone laufen.
Ich habe einen UIButton als Leiste links oben. Ich habe einen UIButton als Leiste rechts oben. Ich habe einen UIButton als Logo-Halterung in der Mitte. Screenshot ist anbei.
Ich kann den linken Button oben links antackern. Das mache ich indem ich im Storyboard rechts unten auf "new Constraint" klicke, dann die roten Dinger für links und oben anklicke. Constraint hinzufügen. Passt.
Selbiges für die Leiste rechts oben. Den mittleren Button für das Logo habe ich vertikal oben angetackert.
Jetzt kommen aber die Probleme:
1. Von dem mittleren Button ziehe ich per Control-Klick eine blaue Linie in den View. Dann stelle ich "Center horizontally in safe area" ein. Das reicht Xcode aber nicht und ich bekomme einen roten Rahmen. Es sieht so aus als würde Xcode mich zwingen eine feste Width einzugeben. Also mache ich das. Ich will aber keine feste Width. Ich will dass die Width beim iPad weiter ist als beim iPhone. Ich will also keine px-width, sondern eine %-width. Das scheint nicht zu gehen?
2. Das viel nervigere Problem: Die Balken überschneiden sich in der iPhone Ansicht, da sie ja die breite der iPad Ansicht haben, da es ja primär eine iPad App sein soll. Ich will dass die Balken aka Buttons links und rechts oben sich in der iPhone Ansicht automatisch verkleinern. Also auch hier will ich eine %-width und keine px-width. Das scheint nicht zu gehen?
Gibt es wirklich keine %-width? Das wäre sooooo viel einfacher. Linker und rechter Balken fest in die Ecken getackert. Breite auf 35% gestellt. Mittlerer Button in die Mitte getackert, Breite auf 10% gestellt. Und ich hätte auf jedem Gerät immer die genau gleiche Ansicht. Genau das will ich!
Wie zum Teufel löse ich das? Bitte bewahrt mein Macbook vor einem Flug aus dem Fenster!!
Bildschirmfoto 2017-11-28 um 15.53.58.pngBildschirmfoto 2017-11-28 um 16.12.09.png
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von casualcoder ()