@H_403_1@开发环境:Xcode 7 Beta 4
@H_403_1@
@H_403_1@1.1: 部署初步架构
@H_403_1@
@H_403_1@
@H_403_1@1.2 设置根控制器(AppDelegate.swift)
@H_403_1@
- <span style="font-family:Microsoft YaHei;"> func application(application: UIApplication,didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
- // Override point for customization after application launch.
- window = UIWindow (frame: UIScreen.mainScreen().bounds )
- window?.backgroundColor = UIColor.whiteColor()
- window?.rootViewController = MainUITabBarController()
- window?.makeKeyAndVisible()
- return true
- }
- </span>
- <span style="font-family:Microsoft YaHei;">import UIKit
- class MainUITabBarController: UITabBarController {
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- addChildViewControllers()
- setComposeButton()
- }
- ///设置Button
- private func setComposeButton() {
- //计算Button 高度
- let w = tabBar.bounds.width / CGFloat (viewControllers!.count)
- // Button 已有宽和高的Rect
- let rect = CGRect(x: 0,y: 0,width: w,height: tabBar.bounds.height)
- //使用偏移 设置Button位置
- composeButton.frame = CGRectOffset(rect,2 * w,0)
- }
- /// 添加所有子控制器
- private func addChildViewControllers() {
- //Start添加所有子控制器--------------------------
- addChildViewController(HoMetableViewController(),title:"首页",imageName:"tabbar_home" )
- addChildViewController(MessageTableViewController(),title:"消息",imageName:"tabbar_message_center" )
- addChildViewController(UIViewController())
- addChildViewController(DiscoverTableViewController(),title:"发现",imageName:"tabbar_discover" )
- addChildViewController(profileTableViewController(),title:"我",imageName:"tabbar_profile" )
- //end-----------------------------------------
- }
- ///懒加载创建Button
- lazy private var composeButton: UIButton = {
- let button = UIButton ()
- //Start设置Button素材---------------------------------
- button.setImage(UIImage(named: "tabbar_compose_icon_add"),forState: UIControlState.Normal)
- button.setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"),forState: UIControlState.Highlighted)
- button.setBackgroundImage(UIImage(named: "tabbar_compose_button"),forState: UIControlState.Normal )
- button.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"),forState: UIControlState.Highlighted )
- //end-----------------------------------------------
- //此处不提示得手敲
- self.tabBar.addSubview(button)
- button.addTarget(self,action: "ClickComposeButton",forControlEvents: UIControlEvents.TouchUpInside)
- return button
- }()
- /// 添加控制器方法
- ///
- /// - parameter vc : 视图控制器
- /// - parameter title : 标题
- /// - parameter imageName: 图像名称
- private func addChildViewController(vc:UIViewController,title: String,imageName: String) {
- tabBar.tintColor = UIColor.orangeColor()
- vc.title = title
- vc.tabBarItem.image = UIImage(named: imageName)
- let nav = UINavigationController(rootViewController: vc)
- addChildViewController(nav)
- }
- </span>
@H_403_1@
1.4.1自定义一个继承UITableViewController的控制器
@H_403_1@1.4.2 修改所有控制器的继承关系,继承BaseTableViewController
@H_403_1@
1.4.3 设置BaseTableViewController的View
@H_403_1@
@H_403_1@
@H_403_1@
@H_403_1@1.4.4 重写BaseTableViewController 的loadView()方法
@H_403_1@
@H_403_1@