[纯代码]Swift 2.0 开发新浪微博--第一天

开发环境:Xcode 7  Beta 4

1.1: 部署初步架构

1.2 设置根控制器(AppDelegate.swift)

<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>

1.3 自定义TarbBar

<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>

1.4 通过继承关系设置登录界面

注: 根据用户是否登录来判断界面是否切换

1.4.1自定义一个继承UITableViewController的控制器

1.4.2 修改所有控制器的继承关系,继承BaseTableViewController

1.4.3 设置BaseTableViewController的View

<span style="font-family:Microsoft YaHei;">    ///设置自定义登录View
    private func setVistorView() {

        //创建空View,测试使用
        view = UIView ()
        //设置颜色
        view.backgroundColor = UIColor.orangeColor()

    }</span>

1.4.4 重写BaseTableViewController 的loadView()方法

<span style="font-family:Microsoft YaHei;">//定义一个用户是否登录的开关
    var userLogin = true</span>
<span style="font-family:Microsoft YaHei;">    override func loadView() {
        //判断用户登录是否成功切换View
        userLogin ? super.loadView() : setVistorView()

    }</span>

连续12天更新 每天更新一阶段

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 21:11:49

[纯代码]Swift 2.0 开发新浪微博--第一天的相关文章

猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44976175 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 编程思路 代码创建Cell的步骤 1> 创建自定义Cell,继承自UITableViewCell 2> 根据需求,确定控件,并定义属性 3> 用getter方法完成控件的实例化,只创建并添加到contentView,不处理

IOS开发UI篇--UITableView的自定义布局==纯代码布局

UITableView中除了利用系统的UItableViewCell不能完成需求进行布局时,还可以进行自定义布局: 自定义布局分为两类:(1)利用代码进行创建 (2)利用xib进行实现: 下面对利用代码进行创建分析: 应用场景:像微博,等列表数据展示(由于微博的每个单元格的数据大小不一致,所以得计算每个单元格的大小) 分析:前提是获取列表数据,然后建立每个单元格的模型(建立单元格模型应继承UITableViewCell)复写 - (id)initWithStyle:(UITableViewCel

(源码推荐)快速开发10几天时间纯代码高仿《内涵段子》

这个项目是用OC编写,如果有的朋友已经下载下来看了这个项目, 就会意识到这个项目没有一个storyboard或者是nib,不是因为不喜欢用storyboard或者nib,而是因为一直以来就想用纯代码写个项目,(好远大的梦想..开玩笑的..),但是项目是写出来的,光想不做不写是不行的,所以我就开始我的”内涵之旅“了. Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 日志: 8.30号:没怎么做东西,就是搭建了项目的架构,拉入了之前经常

iOS开发——OC篇&amp;纯代码退出键盘

关于iOS开发中键盘的退出,其实方法有很多中,而且我也学会了不少,包括各种非纯代码界面的退出. 其实这里纯代码界面推出如果用到Xib何Storyboard上面去还是一样的思路操作,只不过笔者在开发的时候是在纯代码界面遇到的问题,所以久以此命名. 下面大家介绍怎么在纯代码的情况下,退出(隐藏)键盘,Xib和StoryBoard情况下这里就不解释了(照此思路). 一:UITextField 关于UITextFiel个人感觉又很多中方法,但是最近开发中我用的最多的也就是这两种,根据和已经在公司上班的同

iOS开发——新特性OC篇&amp;Swift 2.0新特性

Swift 2.0新特性 转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift 2.0,引入了很多新的特性,以帮助开发者能更快,更简单的构建应用.我在这里也说道说道Swift 2.0中值得大家注意的新特性. guard语句 guard语句和if语句有点类似,都是根据其关键字之后的表达式的布尔值决定下一步执行什么.但与if语句不

(素材源码)猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8580249 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 编程思路 代码创建Cell的步骤 1> 创建自定义Cell,继承自UITableViewCell 2> 根据需求,确定控件,并定义属性 3> 用getter方法完成控件的实例化,只创建并添加到contentView,不处理位置 4&g

Swift 2.0学习笔记——我的第一行Swift代码

Swift 2.0学习笔记--我的第一行Swift代码 当第一次看到下面代码时我石化了,这些代码是什么东东?单词拼出来的? import Foundation var str = "Hello World" print(str) 晕晕.好吧,低头继续往下看,哦明白了 第一句:import Foundation 表示引入Foundation框架. 什么是Foundation框架? Foundation是OS X和iOS应用程序开发的基础框架,它包括了一些基本的类,如数字.字符串.数组.字

iOS开发系列--Swift 3.0

概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行.在WWDC16上Apple公布了Swift3.0,从中可以看出Apple对Swift的重视,以及Swift开源半年以来的进步.尽管对于开发人员来说Swift3.0的变化会令你的程序几乎处处报错,但是试想一下如果Apple没有追求极致的精神又怎么会做出如此多的更改.今天的文章将重点介绍:What's

ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中