[IOS开发]模仿微博的客户端(1)
来源:互联网 发布:2017年建筑业发展数据 编辑:程序博客网 时间:2024/06/08 02:25
1.在 AppDelegate 文件中设置程序的根控制器
2.创建 tabbar 控制器
2.1在 DIDTabBarController 文件中创建四个子控制器,并给其设置标题和图片
2.2由于要将系统默认渲染的图片样式改成自定义的,利用 imageWithRenderingMode 方法,写了一个分类UIImage+image
2.3一共需要创建4个控制器,代码不写重复的代码,所以这个时候抽取了一个创建单个 tabbarItem 的方法- (void)everyChildViewControllers:(UIViewController *)vc andImage:(UIImage *)image andImageSel:(UIImage *)imageSel andTitle:(NSString *)title , 并且由于添加标题的时候会输入中文,会导致后面的 UIImage 输入的时候没有提示,所以一般将设置标题的选项放在最后
2.4想要将系统的默认tabbar 蓝色字体改成橘色的,想要在全局的地方更改,在类方法 initialize 中更改(程序启动的时候会讲所有的类都加载到内存中,所有类里面的 load 方法会先于程序的 main 方法执行)
3.创建navigation控制器
3.1在创建每个子控制器的方法中,可以创建navigationController,将每个控制器设为navigation的根控制器
3.2想要给navigation添加标题,需要在每个子控制器中设置,并且左右两侧的按钮也同样需要在子控制器中设置,毕竟每个控制器需要的选项是不一样的
4.设置首页界面
4.1先创建一个tableViewController(消息和发现界面同样都是tableViewController,可以同时创建)
4.2设置导航栏的左右两侧的navigationBarItem,因为我们默认和高亮的状态都需要设置,系统无法满足我们的需求,所以在创建一个UIImage的分类,先创建一个按钮,设置好不同状态的图片,再转为UIBarbuttonItem(通过initWithCustomView方法),记住不能忘记设置button的尺寸,否则button不会显示
4.3中间标题处的也同样是一个按钮,通过navigationItem.titleView属性,将button添加上去
4.4中间的按钮也是需要自定义的按钮,因为正常时候图片和文体是左右位置,我们需要将文字放在左边,所以自定义按钮,创建button的时候用创建自定义按钮的类方法buttonWithType:UIButtonTypeCustom
4.5这个按钮只有一个,在自定义的button的类中可以将不同状态的图片设置好于initWithFrame方法中以及被选中时候的背景图片
4.6在layoutSbuViews方法中交换文字和图片的位置,这里也可以写个分类,用来设置x和y值,因为x本不可以赋值,需要通过frame赋值,很是麻烦
4.7在setFrame方法中设置frame,让按钮的尺寸大一点,这样被点击的时候,后面背景的尺寸会打一写
4.8因为没有给图片和文字指定尺寸,可以再set图片和文字的方法中加一句sizeToFit方法
5.接下来创建按钮弹下来的view
5.0首先了解一下这个view的构成,首先后面是一个全屏的view,然后上面有一个imageView用来显示黑色区域,imageView中添加一个view用来连接tableView的,tableView也会赋值给这个view,设置tableView的文字,让后让tableView和cell的颜色都为无色即可
5.1先创建一个弹出框的类(DIDPopView),以及它的控制器(DIDPopViewController),因为一定会有,所以一起创建就好了
5.2定义一个类方法popView,将其初始化,使其frame等于整个屏幕,这样为之后任意点击,关闭popview做准备
5.3创建一个imageView(containView),将背景图片设置拉伸不变形的方式(此处建了一个分类UIImage+resizable)
5.4将图片的交互模式打开
5.5imageView要添加到popView的自视图上
5.6重写layoutSubViews的方法,让里面的内容,距离边框有一点距离
5.7在.h文件中创建contentView的属性,为了与控制器产生联系
5.8重写contentView的setter方法,将contetView添加到imageView上去
5.9设置代理,写一个协议并在首页的控制器实现代理方法,让其在点击屏幕的时候能够将弹下来的View移除
5.10实现View上面的内容,在首页的控制器中,将popViewController的View赋值给popView的cententView的属性,这样就建立起了他们之间的连接
5.11popViewController是继承于tableViewController的,按照tableView的实现方法,在viewDidload方法中可以先创建一个数组,用于存储内容,此处为了测试,可以先填上内容
5.12然后实现有几行的方法,每个cell现实的内容的方法,必要忘了将tableView和cell的颜色设置为无色,不要设置为没有颜色,要设置为无色(clearColor),将tableView的分割线也要消除
关于我用到的一些分类,可以到这里查看
http://download.csdn.net/detail/aa603020460/9280817
- [IOS开发]模仿微博的客户端(1)
- IOS开发之模仿android的FloatingActionButton
- 记:新浪微博iOS客户端开发的电话面试
- 新浪微博ios客户端 开发流程
- 模仿ios的scrollView
- 开发 iOS 的 VOIP 客户端
- 模仿android新浪微博手机客户端项目
- 模仿android新浪微博手机客户端项目
- 大部分 android 或者 ios 客户端 的网络通讯其实都是在 模仿 网页浏览器
- ios中创建单例的作用(模仿网易新闻客户端)
- iOS模仿QQ的折叠
- andorid模仿iOS的UISegmentedControl
- IOS模仿微信小视频开发心得
- iOS开发之模仿qq通讯录
- iOS开发之模仿qq通讯录源代码!
- ios模仿微信的"我"界面的demo
- 基于XMPP的IOS客户端开发
- IOS开发直播客户端的SDK
- Android使用SVG矢量图打造酷炫动效!
- 1.Android AlertDialog
- CSS利用checkbook实现开关按钮
- iOS多线程技术
- 圈奶牛<计算几何><C++>
- [IOS开发]模仿微博的客户端(1)
- 【试错】——人类不断学习、进步的前提
- java IO流的简单介绍及应用
- leetcode 58:Length of Last Word
- VcXsrv: 一个好用的Windows X11 Server
- Invalid header signature问题产生的原因及解决方法
- 代码管理工具
- Android WebRTC 音视频开发总结(一)
- 【Head First设计模式-读书笔记】策略模式