2017-09-18 8 views
0
import UIKit 
import ARNTransitionAnimator 
import AVFoundation 
import MediaPlayer 

final class ViewController: UIViewController, AVAudioPlayerDelegate{ 

@IBOutlet fileprivate(set) weak var containerView : UIView! 
@IBOutlet fileprivate(set) weak var tabBar : UITabBar! 
@IBOutlet fileprivate(set) weak var miniPlayerView : LineView! 
@IBOutlet fileprivate(set) weak var miniPlayerButton : UIButton!  
@IBOutlet weak var miniPlay: UIButton! 

@IBOutlet weak var tabone: UITabBarItem! 

private var animator : ARNTransitionAnimator? 
fileprivate var modalVC : ModalViewController! 


override func viewDidLoad() { 
    super.viewDidLoad() 

    tabBar.barTintColor = UIColor.black 

    let musicVC = MusicViewController() 


    } 
} 

タブコントローラーにタブバー項目を割り当てようとしています。現在のビューコントローラは、特別なタブバードコントローラではありません(私は、ストーリーボードでタブバーコントローラを作成する方が簡単かもしれません)。タブバーはストーリーボードで作成されたオブジェクトで、最初のバーアイテムが接続された状態でIBoutletによって接続されます。プログラムで接続を割り当てる方法はありますか?クリックすると、特定のビューコントローラにタブバーアイテムを割り当てる方法を教えてください。

答えて

0

UIViewControllerの拡張子を使用して、タブバー項目のプロパティをUITabBarItemインスタンスにコピーすることをお勧めします。

extension UIViewController { 
    func copyTabBarItem(_ item: UITabBarItem) { 
     tabBarItem.badgeColor = item.badgeColor 
     tabBarItem.badgeValue = item.badgeValue 
     if #available(iOS 11.0, *) { 
      tabBarItem.isSpringLoaded = item.isSpringLoaded 
     } 
     tabBarItem.selectedImage = item.selectedImage 
     for state in [UIControlState.application, UIControlState.disabled, UIControlState.focused, UIControlState.highlighted, UIControlState.normal, UIControlState.reserved, UIControlState.selected] { 
      tabBarItem.setBadgeTextAttributes(item.badgeTextAttributes(for: state), for: state) 
     } 
     tabBarItem.titlePositionAdjustment = item.titlePositionAdjustment 
    } 
} 
+0

は、私は、拡張ファイルを作成したが、私は.isSpringLoadedとのトラブルを抱えている、私がする必要があるでしょう異なるものがありますか? – Abe

関連する問題