iOS > 7.0 & Non-Retina?

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

  • iOS > 7.0 & Non-Retina?

    Hallo Zusammen,

    ich steh gerade ein wenig auf dem Schlauch. Meine App hab ich als Target auf iOS 7.0 gesetzt.
    Ich setze ein Hintergrundbild mit der Auflösung 640 x 1136 (für's Retina) mit

    Quellcode

    1. [self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"start.png"]]];


    Die Datei heisst auch start.png. Damit wird sie aber doppelt so groß dargestellt.
    Wenn ich sie start@2x.png nenne ist alles ok.

    iOS 7 läuft doch gar nicht mehr auf Non-Retina-Geräten, oder? Das letzte Non-Retina war das 3GS und das geht bis iOS 6.1.6
    Ich bin verwirrt. :S Wozu dann noch die extra Benennung +@2x?

    LG
    Bernd
    Ich bin gegen Signaturen!!!
  • matz schrieb:

    Vor iPad-Apps streube ich mich irgendwie.

    Mir ging's genau andersherum: Auf dem iPad kann man "richtig" was machen, mehr Möglichkeiten der Benutzerinteraktion, alleine schon durch den zur Verfügung stehenden Platz. Erst als ich eine Schnupperversion meiner App entwickelte (quasi als Demo), war diese schlank genug um auch auf dem iPhone Sinn zu machen. Nun finde ich es cool, beides innerhalb einer Universal App zu haben... :)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    matz schrieb:

    Vor iPad-Apps streube ich mich irgendwie.

    Mir ging's genau andersherum: Auf dem iPad kann man "richtig" was machen, mehr Möglichkeiten der Benutzerinteraktion, alleine schon durch den zur Verfügung stehenden Platz. Erst als ich eine Schnupperversion meiner App entwickelte (quasi als Demo), war diese schlank genug um auch auf dem iPhone Sinn zu machen. Nun finde ich es cool, beides innerhalb einer Universal App zu haben... :)

    Mattes


    Das empfinde ich genauso: auf dem iPhone hat immer dieselben Grenzen, während auf dem iPad viel mehr möglich ist (ist auch teilweise abenteuerlicher). Universal Apps finde ich auch interessant, weil man noch mal mehr drauf achten muss alles schön zu entkoppeln.
    Ich hoffe dass die größeren iPhones tatsächlich auch eine höhere Auflösung haben, mit der man Bildschirmgröße gewinnt, die man wieder neu füllen kann. Dabei finde ich das neue Size Classes und Traits Konzept nur teilweise interessant, weil es ein "one size fits all"-Ansatz ist, der auf die einzelnen Auflösungen nur ungenügend eingeht.

    Noch mal zur ursprünglichen Frage zurück: selbst wenn es kein nicht retina Gerät mehr gibt, bleibt ein hochauflösendes Bild (2x) immer noch ein hochauflösendes Bild. Deswegen ist das 2x im Namen ein gutes Indiz für die Auflösung.
  • brainray2000 schrieb:

    ...
    Noch mal zur ursprünglichen Frage zurück: selbst wenn es kein nicht retina Gerät mehr gibt, bleibt ein hochauflösendes Bild (2x) immer noch ein hochauflösendes Bild. Deswegen ist das 2x im Namen ein gutes Indiz für die Auflösung.


    Dann wäre es doch aber völliger Käse, wenn ich ein Bild im Bundle habe, welches bild.png heißt und die Retinaauflösung hat, dieses als bild@2x.png zu hinterlegen, wenn ich z.b. beim Backgroundimage trotzdem auf bild.png verweise. Diese Logik erschließt sich mir nicht. Wohlgemerkt, ich beziehe mich hier auf Deine Aussage
    selbst wenn es kein nicht retina Gerät mehr gibt


    Gruß
    Bernd
    Ich bin gegen Signaturen!!!
  • beage schrieb:

    Dann wäre es doch aber völliger Käse, wenn ich ein Bild im Bundle habe, welches bild.png heißt und die Retinaauflösung hat, dieses als bild@2x.png zu hinterlegen, wenn ich z.b. beim Backgroundimage trotzdem auf bild.png verweise.

    iOS ist halt so gestrickt, dass Images in Retina Auflösung mit @2x Anhängsel gespeichert werden müssen. Dadurch kann das System, je nach Gerät auf dem es läuft, die richtige Variante laden. Du als Programmierer brauchst dich um die Auswahl des richtigen Bildes nicht kümmern. Du schreibst einfach [UIImage imageNamed:@"start.png"]; fertig. Gibt es keine Variante mit @2x, skaliert das System das "normale" Bild entsprechend hoch, damit es auf einem Retina Gerät genauso groß ist, wie auf einem nicht Retina Gerät, denn iOS geht davon aus, dass "normal" benannte Bilder für nicht Retina Geräte erstellt wurden.
  • Michael schrieb:

    beage schrieb:

    Dann wäre es doch aber völliger Käse, wenn ich ein Bild im Bundle habe, welches bild.png heißt und die Retinaauflösung hat, dieses als bild@2x.png zu hinterlegen, wenn ich z.b. beim Backgroundimage trotzdem auf bild.png verweise.

    iOS ist halt so gestrickt, dass Images in Retina Auflösung mit @2x Anhängsel gespeichert werden müssen. Dadurch kann das System, je nach Gerät auf dem es läuft, die richtige Variante laden. Du als Programmierer brauchst dich um die Auswahl des richtigen Bildes nicht kümmern. Du schreibst einfach [UIImage imageNamed:@"start.png"]; fertig. Gibt es keine Variante mit @2x, skaliert das System das "normale" Bild entsprechend hoch, damit es auf einem Retina Gerät genauso groß ist, wie auf einem nicht Retina Gerät, denn iOS geht davon aus, dass "normal" benannte Bilder für nicht Retina Geräte erstellt wurden.


    Das ist mir schon klar. Es wird aber eben auch andersrum gemacht, Existiert eine Datei bild.png ohne das Anhängsel @2x in Retina-Auflösung, wird das Bild auf einem Retina-Display doppelt so groß dargestellt. Erst wenn das Bild bild@2x.png heisst, wird es richtig dargestellt.
    Ich bin gegen Signaturen!!!