스토리 보드를 사용하여 탭 막대 컨트롤러에서 선택한 이미지 설정
Storyboarding을 사용하고 있으며 5 개의 탭이있는 탭 막대 컨트롤러가 있습니다. 스토리 보드에서 탭바 항목의 이미지를 설정할 수 있습니다. Apple 문서는 각 탭 표시 줄 항목에 대해 두 개의 아이콘을 가질 것을 제안합니다. 하나는 선택된 상태이고 다른 하나는 선택되지 않은 상태입니다.
스토리 보드를 사용하여이 작업을 수행하는 방법을 알 수 없습니다.
스토리 보드를 사용하여 탭바의 선택된 이미지를 설정할 수 있습니다. 나는 노력했고 그것은 나를 위해 일했습니다. UITabbarItem을 선택하고 런타임 속성 'selectedImage'를 추가하고 Type을 'Image'로 선택한 다음 이미지 이름을 값으로 지정하십시오.
XCode 6.0을 사용하고 있으며 최소 배포 대상은 iOS 8.0입니다.
다음은 XCode> = 8 용 Tabbar에서 선택 / 선택되지 않은 이미지에 대한 완전한 솔루션입니다.
- 이미지 자산으로 이동-> 이미지 선택
- Render AS : "Original Image"를 선택합니다.
- 그 후 스토리 보드로 이동-> 탭바 항목 선택
- Attribute Inspectors에서 다음 스크린 샷과 같이 "Selected Image"및 "Image"를 설정합니다.
XCode 8 이상에서는 이미지 자산에서 간단히 수행 할 수 있습니다. 이미지를 선택하고 "원본 이미지로 렌더링"을 선택하기 만하면됩니다. (첨부 된 이미지를 확인 해주세요) .. 즐거운 시간 보내세요 :)
예, 이것은 스토리 보드를 사용하여 수행 할 수 없습니다. 코드를 작성해야합니다.
에서 UINavigationViewController
의 viewDidLoad
방법, 우리는 다음과 같은 코드를 작성할 수 있습니다 -
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에서 할 수 있습니다.
이미지의 크기는 다음과 같아야합니다.
- @ 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)
'Nice programing' 카테고리의 다른 글
Instruments로 iPhone 응용 프로그램을 프로파일 링 할 때 기호 이름 누락 (0) | 2020.12.09 |
---|---|
하나의 팝 오버를 표시하고 다른 팝 오버를 숨 깁니다. (0) | 2020.12.09 |
Android 새로 고침 현재 활동 (0) | 2020.12.09 |
Swift의 밑줄 버튼 텍스트 (0) | 2020.12.09 |
문자열을 단어 목록으로 변환? (0) | 2020.12.09 |