탭 표시줄의 높이와 문자의 위치와 크기를 바꾸어 문자만 있는 탭 표시줄을 만듭니다
9489 단어 Swift
아이콘을 준비하는 것이 번거롭기 때문에 문자로만 탭을 만들 수 있지 않을까 해서 실시했습니다.
아이콘만 사용하지 않으면 그림만 설정하면 되지만, 그것만 사용하면 작은 텍스트가 탭 표시줄 아래에 설정됩니다.
나는 문자를 확대해서 탭 표시줄의 한가운데에 놓고 싶다.또한 문자만 있으면 기본 탭 표시줄이 너무 길어집니다.그래서 높이도 줄이고 싶어요.
설치 방법
스위프트 2.1입니다.
문자의 위치 및 크기 변경
탭 표시줄의 각 UITObBarItem에는 문자의 위치와 크기가 있습니다.응용 프로그램에서 사용하는 탭 표시줄은 최대 하나이기 때문에 아래와 같이 수정할 수 있습니다.
첫 번째 행에서는 원하는 글꼴을 지정하고, 두 번째 행에서는 좌표를 변경합니다.UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Avenir-Medium", size: 14)!], forState: .Normal) // 好きなフォントを
UITabBarItem.appearance().titlePositionAdjustment = UIOffsetMake(0, -9)
이것은TabBarViewController의viewDidLoad 또는 AppDelegate의 응용 프로그램:d i d F inishLaunchingWithOptions의 설정이면 됩니다.
탭 표시줄 높이 변경
레이블 막대를 그릴 높이는 UITABar의 크기 TheatFits에 의해 결정되는 것 같습니다.따라서 오버라이드를 적당한 높이로 돌려주면 높이를 바꿀 수 있다.
class TabBar: UITabBar {
override func sizeThatFits(size: CGSize) -> CGSize {
var size = super.sizeThatFits(size)
size.height = 40
return size
}
}
샘플 코드
다음 예는 적절한 storyboard에서 탭 표시줄을 가져오는 ViewController입니다.class TabBar: UITabBar {
override func sizeThatFits(size: CGSize) -> CGSize {
var size = super.sizeThatFits(size)
size.height = 40
return size
}
}
class TabBarViewController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
addTabBarItems()
layoutTabBarItems()
}
func addTabBarItems() {
addChildViewControllerWithStoryboardName("Timeline")
childViewControllers.last?.tabBarItem = UITabBarItem(title: "Timeline", image: nil, tag: 1)
addChildViewControllerWithStoryboardName("MyPage")
childViewControllers.last?.tabBarItem = UITabBarItem(title: "MyPage", image: nil, tag: 2)
}
func addChildViewControllerWithStoryboardName(storyboardName: String) {
let storyboard = UIStoryboard(name: storyboardName, bundle: nil)
let vc = storyboard.instantiateInitialViewController()
addChildViewController(vc!)
}
func layoutTabBarItems() {
tabBar.translucent = false
tabBar.barTintColor = UIColor.lightOrangeColor()
tabBar.tintColor = UIColor.deepGrayColor()
UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Avenir-Medium", size: 14)!], forState: .Normal)
UITabBarItem.appearance().titlePositionAdjustment = UIOffsetMake(0, -9)
}
}
Reference
이 문제에 관하여(탭 표시줄의 높이와 문자의 위치와 크기를 바꾸어 문자만 있는 탭 표시줄을 만듭니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tsugitta/items/ce24aa67e4016376b9db
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Avenir-Medium", size: 14)!], forState: .Normal) // 好きなフォントを
UITabBarItem.appearance().titlePositionAdjustment = UIOffsetMake(0, -9)
class TabBar: UITabBar {
override func sizeThatFits(size: CGSize) -> CGSize {
var size = super.sizeThatFits(size)
size.height = 40
return size
}
}
다음 예는 적절한 storyboard에서 탭 표시줄을 가져오는 ViewController입니다.
class TabBar: UITabBar {
override func sizeThatFits(size: CGSize) -> CGSize {
var size = super.sizeThatFits(size)
size.height = 40
return size
}
}
class TabBarViewController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
addTabBarItems()
layoutTabBarItems()
}
func addTabBarItems() {
addChildViewControllerWithStoryboardName("Timeline")
childViewControllers.last?.tabBarItem = UITabBarItem(title: "Timeline", image: nil, tag: 1)
addChildViewControllerWithStoryboardName("MyPage")
childViewControllers.last?.tabBarItem = UITabBarItem(title: "MyPage", image: nil, tag: 2)
}
func addChildViewControllerWithStoryboardName(storyboardName: String) {
let storyboard = UIStoryboard(name: storyboardName, bundle: nil)
let vc = storyboard.instantiateInitialViewController()
addChildViewController(vc!)
}
func layoutTabBarItems() {
tabBar.translucent = false
tabBar.barTintColor = UIColor.lightOrangeColor()
tabBar.tintColor = UIColor.deepGrayColor()
UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Avenir-Medium", size: 14)!], forState: .Normal)
UITabBarItem.appearance().titlePositionAdjustment = UIOffsetMake(0, -9)
}
}
Reference
이 문제에 관하여(탭 표시줄의 높이와 문자의 위치와 크기를 바꾸어 문자만 있는 탭 표시줄을 만듭니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tsugitta/items/ce24aa67e4016376b9db텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)