수색…


인스턴스 만들기

'탭 표시 줄'은 대부분의 iOS 앱에서 일반적으로 찾아 볼 수 있으며 각 탭마다 고유 한보기를 제공하는 데 사용됩니다.

인터페이스 빌더를 사용하여 탭 막대 컨트롤러를 만들려면 탭 막대 컨트롤러를 객체 라이브러리에서 캔바스로 끌어옵니다.

탭 막대 컨트롤러

기본적으로 탭 막대 컨트롤러에는 두 가지보기가 제공됩니다. 추가보기를 추가하려면 탭 막대 제어기에서 새보기로 끌기를 제어하고 하위보기 드롭 다운에서 '보기 제어기'를 선택하십시오.

뷰가있는 탭 표시 줄

탭 바 항목 제목 및 아이콘 변경하기

스토리 보드 사용 :

해당 뷰 컨트롤러에서 탭 막대 항목을 선택하고 속성 검사기로 이동합니다.

내장 아이콘과 제목을 원하면 'System Item'을 해당 값으로 설정하십시오.

사용자 정의 아이콘의 경우 필요한 이미지를 에셋 폴더에 추가하고 '시스템 항목'을 이전에 '사용자 정의'로 설정하십시오.

이제 'selected image'드롭 다운에서 탭을 선택하고 'image'의 기본 탭 아이콘을 드롭 다운하면 표시 할 아이콘을 설정하십시오. 'title'필드에 해당 제목을 추가하십시오.

탭 막대 항목 속성 검사기

프로그래밍 방식 :

View Controller의 viewDidLoad() 메서드에 다음 코드를 추가합니다.

목표 -C :

self.title = @"item";

self.tabBarItem.image = [UIImage imageNamed:@"item"];
self.tabBarItem.selectedImage = [UIImage imageNamed:@"item_selected"];

빠른:

self.title = "item"
self.tabBarItem.image = UIImage(named: "item")
self.tabBarItem.selectedImage = UIImage(named: "item_selected")

TabBar가있는 탐색 컨트롤러

내비게이션 컨트롤러는 스토리 보드를 사용하여 각 탭에 내장 할 수 있습니다. 추가 된 스크린 샷과 같을 수 있습니다.

탭 막대 컨트롤러에서 연결하는보기 컨트롤러에 탐색 컨트롤러를 추가하려면 여기에 흐름이 있습니다

  • 탐색 컨트롤러를 추가해야하는보기 컨트롤러를 선택하십시오. 여기서는 검색보기 컨트롤러를 선택 디스플레이로 사용합니다.
  • Xcode의 Editor 메뉴에서 Embed In -> Navigation Controller 옵션을 선택하십시오.

여기에 이미지 설명을 입력하십시오.

탭 막대 색상 사용자 정의

[[UITabBar appearance] setTintColor:[UIColor whiteColor]];
[[UITabBar appearance] setBarTintColor:[UIColor tabBarBackgroundColor]];
[[UITabBar appearance] setBackgroundColor:[UIColor tabBarInactiveColor]];
[[UINavigationBar appearance] setBarTintColor:[UIColor appBlueColor]];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

사용자 정의 색상 선택 기능이있는 UITabBarController

Swift 3 에서 UITabBarController 만들기 선택한 탭 색상을 변경하여 선택에 따라 이미지 색상 및 제목을 변경합니다.

import UIKit

class TabbarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.navigationController?.isNavigationBarHidden = true
        
        UITabBar.appearance().tintColor = UIColor.purple
        
        // set red as selected background color
        let numberOfItems = CGFloat(tabBar.items!.count)
        let tabBarItemSize = CGSize(width: tabBar.frame.width / numberOfItems, height: tabBar.frame.height)
        tabBar.selectionIndicatorImage = UIImage.imageWithColor(UIColor.lightText.withAlphaComponent(0.5), size: tabBarItemSize).resizableImage(withCapInsets: UIEdgeInsets.zero)
        
        // remove default border
        tabBar.frame.size.width = self.view.frame.width + 4
        tabBar.frame.origin.x = -2
        
    }
    
    override func viewWillAppear(_ animated: Bool) {
        // For Images
        let firstViewController:UIViewController = NotificationVC()
        // The following statement is what you need
        let customTabBarItem:UITabBarItem = UITabBarItem(title: nil, image: UIImage(named: "notification@2x")?.withRenderingMode(UIImageRenderingMode.alwaysOriginal), selectedImage: UIImage(named: "notification_sel@2x"))
        firstViewController.tabBarItem = customTabBarItem
        
        for item in self.tabBar.items! {
            let unselectedItem = [NSForegroundColorAttributeName: UIColor.white]
            let selectedItem = [NSForegroundColorAttributeName: UIColor.purple]
            
            item.setTitleTextAttributes(unselectedItem, for: .normal)
            item.setTitleTextAttributes(selectedItem, for: .selected)
        }
    }

}


extension UIImage {
    class func imageWithColor(_ color: UIColor, size: CGSize) -> UIImage {
        let rect: CGRect = CGRect(origin: CGPoint(x: 0,y :0), size: CGSize(width: size.width, height: size.height))
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        color.setFill()
        UIRectFill(rect)
        let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return image
    }
    
}

탭 표시 줄의 이미지 선택 및 탭 제목 설정

맞춤 탭 만들기

탭 선택

다른 탭 선택

여기에 이미지 설명을 입력하십시오.

Storyboard없이 프로그래밍 방식으로 Tab Bar 컨트롤러 생성

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    
    var firstTabNavigationController : UINavigationController!
    var secondTabNavigationControoller : UINavigationController!
    var thirdTabNavigationController : UINavigationController!
    var fourthTabNavigationControoller : UINavigationController!
    var fifthTabNavigationController : UINavigationController!
    


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        Fabric.with([Crashlytics.self])
        
       window = UIWindow(frame: UIScreen.main.bounds)
        
        
        window?.backgroundColor = UIColor.black
            
        
        let tabBarController = UITabBarController()
        
        firstTabNavigationController = UINavigationController.init(rootViewController: FirstViewController())
        secondTabNavigationControoller = UINavigationController.init(rootViewController: SecondViewController())
        thirdTabNavigationController = UINavigationController.init(rootViewController: ThirdViewController())
        fourthTabNavigationControoller = UINavigationController.init(rootViewController: FourthViewController())
        fifthTabNavigationController = UINavigationController.init(rootViewController: FifthViewController())
        
        tabBarController.viewControllers = [firstTabNavigationController, secondTabNavigationControoller, thirdTabNavigationController, fourthTabNavigationControoller, fifthTabNavigationController]
        
        
        let item1 = UITabBarItem(title: "Home", image: UIImage(named: "ico-home"), tag: 0)
        let item2 = UITabBarItem(title: "Contest", image:  UIImage(named: "ico-contest"), tag: 1)
        let item3 = UITabBarItem(title: "Post a Picture", image:  UIImage(named: "ico-photo"), tag: 2)
        let item4 = UITabBarItem(title: "Prizes", image:  UIImage(named: "ico-prizes"), tag: 3)
        let item5 = UITabBarItem(title: "Profile", image:  UIImage(named: "ico-profile"), tag: 4)

        firstTabNavigationController.tabBarItem = item1
        secondTabNavigationControoller.tabBarItem = item2
        thirdTabNavigationController.tabBarItem = item3
        fourthTabNavigationControoller.tabBarItem = item4
        fifthTabNavigationController.tabBarItem = item5
                
        UITabBar.appearance().tintColor = UIColor(red: 0/255.0, green: 146/255.0, blue: 248/255.0, alpha: 1.0)
        
        self.window?.rootViewController = tabBarController
        
        window?.makeKeyAndVisible()

        return true
    }


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow