Hey Leute,
also Folgendes:
Ich habe damals fürs iPad Air eine App gemacht. (nur für dieses Modell, war für eine Messe). Die App zeigt ein Bild mit Punkten drauf.
Wo diese Punkte stehen sollen hole ich mir aus einer XML Datei. Dort steht zB 530;120 also x;y
Diese Position gilt natürlich dann nur für das iPad Air.
Nun kam der Kunde Wochen später "Wow die App gefällt uns super gut, wir möchten sie im Store für alle Geräte".
Okay, dann musste ich jetzt also jetzt mit den Positionen für das iPad Air rumrechnen damit das für alle geht.
Das ging ja relativ einfach, hier der Schnipsel ohne viel blabla. splittedPos ist eben 530;120 bei ";" getrennt.
Klappt alles wunderbar. Das Bild wird auf die jeweilige Screengröße angepasst und die Punkte haben ebenfalls die richtige Position auf allen Geräten.
OK, jetzt sind wir hier und ich mache diese App gerade für Android bzw. benutze nun Ionic mit AngularJS um das eben mit HTML etc. zu machen. (Ist für diese Art App gar nicht so blöd, war ich früher immer dagegen).
Jetzt habe ich wieder das selbe Problem nur das jetzt eben noch die Pixel ratio dazu kommt, wenn ich das richtig kapiert habe. NIcht alle Android geräte etc. haben die gleiche Pixeldichte.
zusätzlich setze ich ja jetzt die Position per top/left in css. (px/pt?)
Wie komme ich denn jetzt auf die richtigen Positionen für alle Screengrößen / Pixeldichten eben mit der Angabe vom iPad Air und Retina Display?
Ich hoffe das war verständlich erklärt.
Danke!
also Folgendes:
Ich habe damals fürs iPad Air eine App gemacht. (nur für dieses Modell, war für eine Messe). Die App zeigt ein Bild mit Punkten drauf.
Wo diese Punkte stehen sollen hole ich mir aus einer XML Datei. Dort steht zB 530;120 also x;y
Diese Position gilt natürlich dann nur für das iPad Air.
Nun kam der Kunde Wochen später "Wow die App gefällt uns super gut, wir möchten sie im Store für alle Geräte".
Okay, dann musste ich jetzt also jetzt mit den Positionen für das iPad Air rumrechnen damit das für alle geht.
Das ging ja relativ einfach, hier der Schnipsel ohne viel blabla. splittedPos ist eben 530;120 bei ";" getrennt.
Quellcode
- CGFloat multiplierX = [[[UIApplication sharedApplication] delegate] window].frame.size.width / 1024;
- CGFloat multiplierY = [[[UIApplication sharedApplication] delegate] window].frame.size.height / 768;
- if(splittedPos.count > 1)
- {
- point = CGPointMake(((NSString *) splittedPos[0]).doubleValue * multiplierX, ((NSString *) splittedPos[1]).doubleValue * multiplierY);
- }
OK, jetzt sind wir hier und ich mache diese App gerade für Android bzw. benutze nun Ionic mit AngularJS um das eben mit HTML etc. zu machen. (Ist für diese Art App gar nicht so blöd, war ich früher immer dagegen).
Jetzt habe ich wieder das selbe Problem nur das jetzt eben noch die Pixel ratio dazu kommt, wenn ich das richtig kapiert habe. NIcht alle Android geräte etc. haben die gleiche Pixeldichte.
zusätzlich setze ich ja jetzt die Position per top/left in css. (px/pt?)
Wie komme ich denn jetzt auf die richtigen Positionen für alle Screengrößen / Pixeldichten eben mit der Angabe vom iPad Air und Retina Display?
Ich hoffe das war verständlich erklärt.
Danke!