2013-09-23 15 views
11

więc mam ten fragment kodu, chcę pokazać obraz na moim zdaniem:Obraz jest wyświetlany na symulatorze, ale nie na prawdziwym iPhone

imgLogo = [[UIImageView alloc] init]; 
[imgLogo setFrame:CGRectMake(60, 200, 200, 200)]; 
[imgLogo setImage:[UIImage imageNamed:@"MyFrigginAwesomeLogo"]]; 
[self.view addSubview:imgLogo]; 

Ale problemem jest to, że działa poprawnie podczas testowania go na symulatorze (iOS 7), ale nie pokazuje niczego na moim iPhonie (4S z iOS7).

+1

sprawdź ustawienia kompilacji, być może nie dodałeś obrazu do pakietu prawidłowo – Petar

+5

Sprawdź wielkość liter w logo. W urządzeniu rozróżniana jest wielkość liter, a symulator nie. – Putz1103

+0

@ Putz1103 To było to, naprawdę było ważne! :)! –

Odpowiedz

18

Odpowiedź dodane Komentarz:

Urządzenia z iOS jest wielkość liter, ale nie jest to symulator. Upewnij się, że próbujesz załadować dokładną nazwę pliku, aby je znaleźć.

+0

Dzięki, gdyby stackoverflow nie istniał, nigdy bym nie znalazł tej odpowiedzi. ;) –

+0

Gdzie na świecie jest to określone w dokumentacji ?! – Ares

1

Spróbuj użyć wyznaczony inicjator dla UIImageView zamiast tylko init:

NSString *logoName = @"MyFriggingAwesomeLogo"; 
imgLogo = [[UIImageView alloc] initWithImage:[UIImage imageNamed:logoName]]; 
imgLogo.frame = CGRectOffset(imgLogo.frame, 60, 200); 
[self.view addSubview:imgLogo]; 

Jest również możliwe, że dodasz zasób obrazu tylko cel symulatora. W ustawieniach kompilacji pakietu upewnij się, że obraz znajduje się w sekcji Kopiuj zasoby pakietu.

+0

Po prostu 'init' z wywołaniem' setImage' i 'initWithImage' są dokładnie takie same, jeśli wywołasz je tuż za sobą, tak jak w moim przykładzie. –

Powiązane problemy