UIImageview Image richtig anzeigen

  • UIImageview Image richtig anzeigen

    Hallo,

    ich habe einen UIImageView den ich den nach Modell iPhone4 oder 5 vergrößerere (Höhe). Dadruch habe ich automatisch nach unten mehr Platz für das Bild. Doch wie kann ich dem Image oder View sagen das das Bild immer TOP ausgerichtet sein soll. Sobald ich das Bild einfüge ist es mittig. Ich habe schon alle UIVIEWMODE's ausprobiert. Das Bild habe ich auch schon in 320 Pixel oder 640 Pixel anglegt. Ich möchte einfach das das Bild oben anfängt und unten je nach Modell abgeschnitten (nicht mehr angezeigt wird). clipToBounds habe ih auch auf YES gesetzt.

    Viele Grüße

    Copy
  • Hallo Thalliuis,

    habe auch schon probiert. Dann ist das Bild riesengross. Es scheint als würde das Bild vergrößert. Bei TOP sehe ich nur einen Ausschnitt, allerdings aus der mitte.

    Code:

    Bild wird natürlich vorher geladen.

    Quellcode

    1. float height;
    2. CGSize result = [[UIScreen mainScreen] bounds].size;
    3. height = result.height;
    4. if (height >480)
    5. {
    6. imageView.contentMode = UIViewContentModeTop;
    7. imageView.clipsToBounds = YES;
    8. imageView.frame = CGRectMake(0, 0, 320, 260);
    9. startpicview.frame=CGRectMake(0, 0, 320, 260);
    10. }
    11. else{ //iPhone4
    12. imageView.contentMode = UIViewContentModeTop;
    13. imageView.clipsToBounds = YES;
    14. imageView.frame = CGRectMake(0, 0, 320, 130);
    15. startpicview.frame=CGRectMake(0, 0, 320, 130);
    16. }
    17. [startpicview addSubview:imageView];
    Alles anzeigen



    Viele Grüße

    copy
  • copy schrieb:

    habe auch schon probiert. Dann ist das Bild riesengross. Es scheint als würde das Bild vergrößert. Bei TOP sehe ich nur einen Ausschnitt, allerdings aus der mitte.

    Du solltest das Bild so skalieren und beschneiden, dass es genau für die iPhone 5 Auflösung passt; am besten einmal für die Standard- und einmal für die Retina-Auflösung. Dann kannst Du die erwähnte Top-Ausrichtung verwenden.
    „Meine Komplikation hatte eine Komplikation.“
  • Hallo,

    das Problem ist, das ich das Bild aus dem Internet nachlade. Ich möchte nicht je nach Modell unterschiedliche Bilder hinterlegen, sondern nur eins. Sorry hätte ich vorher erwähnen sollen.

    Da die Breite des Bildes ja bleibt, sollte es doch möglich sein das Bild unten einfach nicht anzuzeigen. Im Prinzip soll der View das Bild anzeigen und alles was übersteht abschneiden. Tut er aber nicht.

    Ich habe die Breiten 320 Pixel und 640 Pixel mit verschiedenen Höhen ausprobiert. Es scheint als wird das Bild immer in den View angepasst.

    Muss ich das Bild evtl. auf die entsprechende Größe des Views vorher croppen? Das Bild ist ja viel höher als der eigentliche View.

    Viele Grüße

    copy
  • Wenn Du Bilder in diversen Größen (Pixel) vom Server bekommst, dann ist es sicherlich einfacher einen CustomView zu verwenden und darin das Bild passend mit der gewünschten Größe zu zeichnen.

    Sollte sich mit ein paar Zeilen Code im drawRect: sehr schnell realisieren lassen.

    Bei Fragen kann ich gerne ein wenig Source Code posten.
  • Hallo,

    vieleicht bin ich ja auch im falschen Film.

    Ich habe ein Bild mit 320 x irgendwas (irgedwas, weil ich ja zwei verschiedene Höhen habe). Habe nur auch mal eins in 640 x ... versucht. Ich kann leider nur ein Bild hinterlegen, so das es für beider herhalten muss.

    Ich versuche es mal mit drawRect anzupassen.

    Viele Grüße

    copy
  • Du bist auf der vollkommen falsch fährte.

    Irgendwo machst du sowaas wie

    Quellcode

    1. NSURL *url = [NSURL URLWithString:@"http://.....jpg"];
    2. NSData *data = [NSData dataWithContentsOfURL:url];
    3. UIImage *img = [[UIImage alloc] initWithData:data cache:NO];


    Mach danach mal ein

    Quellcode

    1. NSLog(@"Image: %f,%f",image.size.width,image.size.height);



    Dann weißt Du wie groß Dein Image wirklich ist

    Gruß

    Clausw
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)