天天看点

iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】

<a href="https://github.com/ChenYilong/CYLTabBarController#%E4%B8%8E%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89tabbarcontroller%E7%9A%84%E5%8C%BA%E5%88%AB">与其他自定义TabBarController的区别</a>

<a href="https://github.com/ChenYilong/CYLTabBarController#%E9%9B%86%E6%88%90%E5%90%8E%E7%9A%84%E6%95%88%E6%9E%9C">集成后的效果</a>

<a href="https://github.com/ChenYilong/CYLTabBarController#%E7%AC%AC%E4%B8%80%E6%AD%A5%E4%BD%BF%E7%94%A8cocoapods%E5%AF%BC%E5%85%A5cyltabbarcontroller">第一步:使用cocoaPods导入CYLTabBarController </a>

<a href="https://github.com/ChenYilong/CYLTabBarController#%E7%AC%AC%E4%BA%8C%E6%AD%A5%E8%AE%BE%E7%BD%AEcyltabbarcontroller%E7%9A%84%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E6%8E%A7%E5%88%B6%E5%99%A8%E6%95%B0%E7%BB%84%E5%92%8Ctabbar%E5%B1%9E%E6%80%A7%E6%95%B0%E7%BB%84">第二步:设置CYLTabBarController的两个数组:控制器数组和TabBar属性数组</a>

<a href="https://github.com/ChenYilong/CYLTabBarController#%E7%AC%AC%E4%B8%89%E6%AD%A5%E5%B0%86cyltabbarcontroller%E8%AE%BE%E7%BD%AE%E4%B8%BAwindow%E7%9A%84rootviewcontroller">第三步:将CYLTabBarController设置为window的RootViewController</a>

<a href="https://github.com/ChenYilong/CYLTabBarController#%E7%AC%AC%E5%9B%9B%E6%AD%A5%E5%8F%AF%E9%80%89%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E5%BD%A2%E7%8A%B6%E4%B8%8D%E8%A7%84%E5%88%99%E5%8A%A0%E5%8F%B7%E6%8C%89%E9%92%AE">第四步(可选):创建自定义的形状不规则加号按钮</a>

<a href="https://github.com/ChenYilong/CYLTabBarController#q-a">Q-A</a>

iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】
iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】
iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】
iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】

四步完成主流App框架搭建:

在 <code>Podfile</code> 中进行如下导入:

pod 'CYLTabBarController'

安装成功后就可以安装依赖了:

建议使用如下方式:

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动

原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update 

或者

pod install --no-repo-update

pod update --no-repo-update

iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】
iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】
iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】

如果想更进一步的自定义 <code>TabBar</code> 样式可在 <code>-application:didFinishLaunchingWithOptions:</code> 方法中设置

iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】

Q:为什么放置6个TabBarItem会显示异常?

A:

Apple 规定:

一个 <code>TabBar</code> 上只能出现最多5个 <code>TabBarItem</code> ,第六个及更多的将不被显示。

另外注意,Apple检测的是 <code>UITabBarItem</code> 及其子类,所以放置“加号按钮”,这是 <code>UIButton</code> 不在“5个”里面。

最多只能添加5个 <code>TabBarItem</code> ,也就是说加上“加号按钮”,一共最多在一个 <code>TabBar</code> 上放置6个控件。否则第6个及之后出现 <code>TabBarItem</code> 会被自动屏蔽掉。而且就Apple的审核机制来说,超过5个也会被直接拒绝上架。

Q:我把 demo 两侧的 item 各去掉一个后,按钮的响应区域就变成下图的样子了:

iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】
iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】
iOS:CYLTabBarController【低耦合集成TabBarController】CYLTabBarController【低耦合集成TabBarController】

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!

本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5165780.html,如需转载请自行联系原作者

继续阅读