Nice programing

스토리 보드를 사용하여 탭 막대 컨트롤러에서 선택한 이미지 설정

nicepro 2020. 12. 9. 21:44
반응형

스토리 보드를 사용하여 탭 막대 컨트롤러에서 선택한 이미지 설정


Storyboarding을 사용하고 있으며 5 개의 탭이있는 탭 막대 컨트롤러가 있습니다. 스토리 보드에서 탭바 항목의 이미지를 설정할 수 있습니다. Apple 문서는 각 탭 표시 줄 항목에 대해 두 개의 아이콘을 가질 것을 제안합니다. 하나는 선택된 상태이고 다른 하나는 선택되지 않은 상태입니다.

스토리 보드를 사용하여이 작업을 수행하는 방법을 알 수 없습니다.


스토리 보드를 사용하여 탭바의 선택된 이미지를 설정할 수 있습니다. 나는 노력했고 그것은 나를 위해 일했습니다. UITabbarItem을 선택하고 런타임 속성 'selectedImage'를 추가하고 Type을 'Image'로 선택한 다음 이미지 이름을 값으로 지정하십시오.

스토리 보드를 사용하여 Tabbar의 선택된 이미지 설정

XCode 6.0을 사용하고 있으며 최소 배포 대상은 iOS 8.0입니다.


다음은 XCode> = 8 용 Tabbar에서 선택 / 선택되지 않은 이미지에 대한 완전한 솔루션입니다.

  • 이미지 자산으로 이동-> 이미지 선택
  • Render AS : "Original Image"를 선택합니다.

여기에 이미지 설명 입력

  • 그 후 스토리 보드로 이동-> 탭바 항목 선택
  • Attribute Inspectors에서 다음 스크린 샷과 같이 "Selected Image"및 "Image"를 설정합니다.

여기에 이미지 설명 입력


XCode 8 이상에서는 이미지 자산에서 간단히 수행 할 수 있습니다. 이미지를 선택하고 "원본 이미지로 렌더링"을 선택하기 만하면됩니다. (첨부 된 이미지를 확인 해주세요) .. 즐거운 시간 보내세요 :)여기에 이미지 설명 입력


예, 이것은 스토리 보드를 사용하여 수행 할 수 없습니다. 코드를 작성해야합니다.

에서 UINavigationViewControllerviewDidLoad방법, 우리는 다음과 같은 코드를 작성할 수 있습니다 -

UITabBar *tabBar = self.tabBar;

UITabBarItem *targetTabBarItem = [[tabbar items] objectAtIndex:0]; // whichever tab-item
UIImage *selectedIcon = [UIImage imageNamed:@"name-of-selected-image.png"];
[targetTabBarItem setSelectedImage:selectedIcon];

이제 스토리 보드에서이 작업을 쉽게 수행 할 수 있습니다. 가지고있는 각 tabviewcontroller에서 계층 구조의 탭 막대 항목 (작은 파란색 별 모양)을 포함해야합니다. 이것을 클릭하면 오른쪽의 설정이 아래 이미지와 같아야합니다. 여기에서 탭 표시 줄 제목 및 이미지를 변경할 수 있습니다.

여기에 이미지 설명 입력


새로운 Xcode 8에서는 핵심 답변에서 제안 된대로 런타임 속성을 정의 할 필요없이 Storyboard에서 할 수 있습니다.

Print Screen Tab Bar 항목

이미지의 크기는 다음과 같아야합니다.

  • @ 1x : 약 25 x 25
  • @ 2x : 약 50 x 50
  • @ 3x : 약 75 x 75

가장 쉬운 방법은 Inspector에서 이미지를 설정하는 것입니다. Bar Item-> Image 라는 필드 가 있으며 여기에 이미지 이름을 설정해야합니다. 탭 바 항목-> 선택한 이미지 와 혼동하지 말고 조심하세요.

여기에 이미지 설명 입력


아이콘은 해당 뷰 컨트롤러에서 설정되어야합니다. 이렇게하면 objectAtIndex:0각 아이콘 의 코드 ( ) 를 변경하지 않고도 스토리 보드 기본 탭 컨트롤러 내에서 뷰 컨트롤러의 순서를 자유롭게 재정렬 할 수 있습니다 .

viewDidLoad메소드에 다음 행을 입력하십시오 .

 if (self.navigationController.viewControllers.count < 2)
     self.navigationController.tabBarItem.selectedImage = [UIImage imageNamed:@"image-selected.png"];

if조건은 버튼 만 최상위 뷰 컨트롤러에 대해 변경되어 있는지 확인합니다. 탐색 계층 구조에서 뷰 컨트롤러를 하위 뷰 컨트롤러로 재사용 할 때 필요합니다.


SWIFT 3.0-> 탭 바 버튼 이미지를 설정하는 이상적인 방법은 다음과 같습니다.

먼저 버튼에 사용할 이미지를 설정하십시오.

    let homeImage = UIImage(named: "TabHome")
    let homeTappedImage = UIImage(named: "TabHomeRed")

그런 다음 UITabButtonItem 유형의 버튼을 설정합니다.

    let homeButton = UITabBarItem(title: homeText, image: homeImage, selectedImage: homeTappedImage)

    //with this method you set the image when the button is not selected 
    homeButton.image = homeImage?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)


    //with this method you set the image when the button is selected 
    homeButton.selectedImage = homeTappedImage?.withRenderingMode(.alwaysOriginal)

참고 URL : https://stackoverflow.com/questions/21386101/setting-selected-image-in-tab-bar-controller-with-storyboard

반응형