UITabBarItem 이미지를 아래로 이동 하시겠습니까?
일반적으로의 각 탭 UITabBar
에는 탭 이름을 지정하는 작은 이미지와 제목이 있습니다. 이미지는 아래의 제목을 수용하기 위해 탭의 상단을 향해 위치 / 중앙에 배치됩니다. 내 질문은 : 이미지 만있는 tabBar를 원하고 제목이없는 경우 이미지를 아래로 이동하여 탭 내에서 더 중앙에 위치하도록하는 방법이 있습니까?
현재 사용 중입니다 (아래 참조).
[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected];
그러나 제목이없는 큰 이미지를 사용하는 것을 선호합니다. 현재 이미지를 약 70pixels @ 2x보다 크게 만들면 UITabBar
아래쪽에 사용되지 않은 공간이 많이 남는 동안 위쪽에서 가장자리가 튀어 나오기 시작합니다 .
조정 해보십시오 tabBarItem
'들 imageInsets
과 (어떤 제목이 표시되지 않도록) 전무에 컨트롤러 제목을 설정 (아이콘 이미지를 이동). 뷰 컨트롤러에 다음과 같이 -init
또는 -viewDidLoad
메소드 를 넣으십시오 .
목표 -C
self.tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
self.title = nil;
빠른
self.tabBarItem.imageInsets = UIEdgeInsets(top: 6, left: 0, bottom: -6, right: 0)
self.title = nil
UITabBarItem
의 서브 UIBarItem
갖는 UIEdgeInsets imageInsets
속성. 보기 좋게 보일 때까지 삽입물로 약간 재생 (탭바 아이콘 이미지에 따라 다름)
스토리 보드를 통해서도 할 수 있습니다. 탭바 항목을 선택하고 크기 검사기로 이동하여 적절한 삽입물을 지정하십시오.
* Xcode 버전 7.3.1 (7D1014)에서 시연
의 하위 클래스를 만들고 UITabBarController
그 안에 viewDidLoad
:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.viewControllers enumerateObjectsUsingBlock:^(UIViewController *vc, NSUInteger idx, BOOL *stop) {
vc.tabBarItem.title = nil;
vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
}];
}
스위프트 3 :
for vc in self.viewControllers! {
vc.tabBarItem.title = nil
vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0)
}
Xamarin을 사용하는 경우 다음과 같이 작동합니다.
screen.TabBarItem.ImageInsets = new UIEdgeInsets(5, 0, -5, 0);
screen.TabBarItem.Title = "";
이것은 나를 위해 일했습니다.
스위프트 4
let array = tabBarController?.customizableViewControllers
for controller in array! {
controller.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0)
}
SWIFT 3.0
이미지 lnsets, set top, left, bottom, right desing에 따라 설정할 수 있습니다.
self.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: 0, right: 0)
iOS 11의 경우 ImageInsets 설정과 별도로 TraitCollection 메서드 를 재정의해야합니다 . 서브 클래 싱 된 UITabBarController 클래스에 메소드를 추가하십시오.
public override UITraitCollection TraitCollection {
get {
return UITraitCollection.FromHorizontalSizeClass(horizontalSizeClass: UIUserInterfaceSizeClass.Compact);
}
}
에서 스위프트 4.2 , UIEdgeInsetsMake
depricated되고, 대신에 우리는 사용해야합니다 UIEdgeInsets
,
let array = tabBarController?.customizableViewControllers
for controller in array! {
controller.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: -5, right: 0)
}
참고 URL : https://stackoverflow.com/questions/16285205/moving-uitabbaritem-image-down
'developer tip' 카테고리의 다른 글
중복 항목을 삭제하는 방법은 무엇입니까? (0) | 2020.08.29 |
---|---|
디렉터리에 폴더가 있는지 확인하고 C #을 사용하여 만듭니다. (0) | 2020.08.29 |
!! ~ (틸드 / 뱅뱅 틸드가 아님)는 '포함 / 포함'배열 메서드 호출의 결과를 어떻게 변경합니까? (0) | 2020.08.29 |
탭바 항목 제목과 무관하게 uiviewcontroller 제목을 변경하는 방법 (0) | 2020.08.29 |
1999 년 10 월 12 일의 의미는 무엇입니까? (0) | 2020.08.29 |