2014-06-14 2 views
2

배포 타겟으로 iOS 7.1이 설치된 앱을 개발 중입니다. 지금까지 모든 것이 잘 작동하지만 탭 바 이미지가 나타나지 않는 큰 문제가 있습니다. 이것은 iOS 8 시뮬레이터에서 실행될 때 Xcode 6 베타 1을 사용하고 있기 때문에 혼란 스럽습니다.TabBar 이미지가 iOS 7.1에 표시되지 않습니다.

두 개의 이미지를 설정했습니다. 크기는 60x60 및 70x60입니다. 그래서 크기는 문제가되지 않습니다. 인터페이스 빌더에서 이미지를 설정했습니다. 그러나 탭 막대 이미지를 콘솔에 기록 할 때 nil을 반환합니다. 그런 다음 이미지를 코드로 설정하고 콘솔에 동일한 메서드를 사용하여 이미지의 메모리 주소를 얻었지만 여전히 표시되지 않습니다.

구글과 유래에 대한 대답을 찾고, 나는이 방법을 발견했습니다

 self.tabBarItem.image = [[UIImage imageNamed:@"IMAGE"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
self.tabBarItem.selectedImage = [[UIImage imageNamed:@"IMAGE"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
NSLog(@"%@", self.tabBarItem.image); 

이 분명히 일부 사용자를 위해 일했다,하지만 나를 위해. 나는 이것을 이해할 수 없다. 누군가 나를 도울 수 있다면 기쁠 것이다.

+0

"IMAGE"라는 이미지가 있습니까? A) self.tabBarItem이 없거나 (= nil) B) 이미지가 존재하지 않는 한이 코드가 작동하지 않을 이유가 없습니다. –

+0

이 게시물의 원래 이름을 "IMAGE"로 바꿨습니다. 인터페이스 빌더에서 이미지를 설정하고 뷰 컨트롤러의 콘솔에 로깅 할 때 나는 nil을 얻는다. 그런 다음 컨트롤러에서 이미지를 설정하고 이미지를 기록하면 메모리 주소가 표시되지만 이미지는 여전히 표시되지 않습니다. – Valentin

+0

이것을 UITabBarController 클래스에 추가 했습니까? –

답변

0

나는 당신이하고있는 일에 대한 느낌이 있지만 여전히 명확하지 않습니다.

당신은 탭 표시 줄이 있지만 탭 표시 줄 항목의 콘센트가 있습니다.

그렇게하는 것이 아닙니다. 탭 막대의 콘센트를 만든 다음 사용자 정의 항목을 다음과 같이 추가하십시오.

UIImage *defaultImage = [UIImage imageNamed:@"ImageName"]; 
UIImage *selectedImage = [UIImage imageNamed:@"ImageName"]; 
UITabBarItem *itemZero = [[UITabBarItem alloc] initWithTitle:@"Item One" image:defaultImage selectedImage:selectedImage]; 

UITabBarItem *itemOne = [[UITabBarItem alloc] initWithTitle:@"Item Two" image:defaultImage selectedImage:selectedImage]; 

NSArray *items = @[itemZero,itemOne]; 
[self.tabBar setItems:items animated:animated]; 
+0

감사. 문제는, 내 Storyboard에서 TabBarController를 설정했기 때문입니다. ViewControllers를 추가 할 때 탭 막대 항목이 자동으로 만들어지고 제목과 이미지를 설정할 수 있습니다. 그래서 나는 컨트롤러를 TabBarController에 연결했기 때문에 콘센트를 설정하지 않고 self.tabBarItem을 사용하여 코드에서이를 참조 할 수 있습니다. 나는 그것이 의미가 있기를 바랍니다. – Valentin