设为首页 加入收藏

TOP

Swift学习--微博的基础框架搭建(一)
2017-10-10 12:16:06 】 浏览:1009
Tags:Swift 学习 基础 框架 搭建

学习如何使用Swift写项目

一.搭建微博项目的主框架

1.1--搭建功能模块

1.2--在 AppDelegate 中的 didFinishLaunchingWithOptions 函数,设置启动控制器

import UIKit
import CoreData

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        //创建Window
        window = UIWindow(frame: UIScreen.mainScreen().bounds)
        window?.backgroundColor = UIColor.whiteColor()
        //创建跟控制器
        window?.rootViewController = MainViewController()
        window?.makeKeyWindow()
        return true
    }
}

 

1.3--在MainViewController.swift中添加子控制器

 override func viewDidLoad() {
        super.viewDidLoad()
        //设置当前控制器对应的tabbar的颜色
        //注意:在ios7以前如果设置了tintColor志勇文字会变,但图片不会变
        tabBar.tintColor = UIColor.orangeColor()
         addChildViewController(HomeTableViewController(), title: "首页", imageName: "tabbar_home")
         addChildViewController(HomeTableViewController(), title: "消息", imageName: "tabbar_message_center")
         addChildViewController(HomeTableViewController(), title: "广场", imageName: "tabbar_discover")
         addChildViewController(HomeTableViewController(), title: "", imageName: "tabbar_profile")
    }
    /**
     初始化子控制器
     
     - parameter childController: 需要初始化的子控制器
     - parameter title:           子控制器的标题
     - parameter imageName:       子控制器的图片名字
     */
    private func addChildViewController(childController: UIViewController, title:String, imageName:String) {
        //设置控制器tabar对应的数据
        childController.tabBarItem.image = UIImage(named: imageName)
        childController.tabBarItem.selectedImage = UIImage(named: imageName + "_highlighted")
        childController.title = title
        
        //2.给控制器包装一个导航栏控制器
        let nav = UINavigationController()
        nav.addChildViewController(childController)
        
        //3.将导航栏控制器添加到当前控制器上
        addChildViewController(nav)
    }

 

 

二.如何动态的创建控制器,在需求中可能遇到---在节假日中修改标签栏按钮的图标,这时就需要动态的创建控制器

2.1在项目中创建一个Json类MainVCSettings.json

[
 {
    "vcName": "HomeTableViewController",
    "title": "首页",
    "imageName": "tabbar_home"
 },
 {
     "vcName": "MessageTableViewController",
     "title": "消息",
     "imageName": "tabbar_message_center"
 },
 {
     "vcName": "DiscoverTableViewController",
     "title": "广场",
     "imageName": "tabbar_discover"
 },
 {
     "vcName": "ProfileTableViewController",
     "title": "",
     "imageName": "tabbar_profile"
 }
 ]

 

2.1 具体实现代码

 override func viewDidLoad() {
        super.viewDidLoad()
        //设置当前控制器对应的tabbar的颜色
        //注意:在ios7以前如果设置了tintColor志勇文字会变,但图片不会变
        tabBar.tintColor = UIColor.orangeColor()
        
        //1.获取json文件的路径
        let path = NSBundle.mainBundle().pathForResource("MainVCSettings.json", ofType: nil)
        //2.通过文件路径创建NSData
        if let jsonPath = path{
            let jsonData = NSData(contentsOfFile: jsonPath)
            do{
                //可能发生的异常代码放到这里
                //序列话json数据->Array
                //Try:发生异常会跳到cat
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ios Swift 中文学习手册 下一篇iOS开发--Swift RAC响应式编程初探

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目