高度自定义 TabBarController 组件 ESTabBarController

码农软件 · 软件分类 · UI组件库 · 2019-08-01 21:43:19

软件介绍

ESTabBarController 是一个高度自定义的 TabBarController 组件,继承自 UITabBarController,可轻松自定义 UI 样式,添加动画等。

功能

1、支持默认样式

如果直接使用ESTabBarController进行初始化,你会得到与UITabBarController完全相同的仿系统样式UITabBarController样式:

ESTabBarController仿系统样式:

2、支持带有"More"的默认样式

使用ESTabBarController进行初始化,若item大于最大显示数量则显示"More",样式与UITabBarController一致带有"More"的UITabBarController样式:

带有"More"的ESTabBarController样式:

3、支持UITabBarItem和ESTabBarItem混合

可以任意设置tabbar的items,支持即包含UITabBarItem,同时也包含ESTabBarItemESTabBar和UITabBar混合样式:

带有'More'的ESTabBar和UITabBar混合样式:

4、支持UIKit属性

支持UITabBarController、UITabBar和UITabBarItem的大部分api属性,使原有代码无需任何修改即可无缝迁移到ESTabBarController支持UITabBarController的selectedIndex属性的实现:

5、支持与UINavigationController任意嵌套

通常在使用UITabBarController过程中,会存在两种比较常见的层级处理方式:

第一种:

├── UITabBarController

└──── UINavigationController

└────── UIViewController

└──────── SubviewControllers

第二种:

├── UINavigationController

└──── UITabBarController

└────── UIViewController

└──────── SubviewControllers

第一种情况在push子视图的时候需要设置 hidesBottomBarWhenPushed = true , 第二种则不需要

在ESTabBarController中,通过添加Container视图到UITabBar的方式来兼容这两种层级处理方式。

6、支持自定义

使用ESTabBarController可以实现:

自定义选中颜色和样式

添加选中时的动画效果

自定义Item的背景颜色

添加高亮时的动画效果

添加一些动画暗示用户点击

等等...... 

7、支持自定义按钮大小,支持自定义点击事件

ESTabBarController支持自定义按钮的大小,你可以轻松定制不规则大小的tab按钮。当按钮frame大于TabBar时,通过HitTest方法使其超出TabBar区域点击仍然有效。 另外,ESTabBarController能够自定义点击事件,并通过一个block回调给上层处理。中间带有较大按钮样式:

带有特殊提醒框样式:

自定义按钮点击事件:

8、支持默认通知样式

如果直接使用ESTabBarController进行初始化,你会得到与UITabBarController完全相同的仿系统通知样式UITabBarController样式:

ESTabBarController仿系统样式:

9、支持自定义通知样式

使用ESTabBarController可以实现:

自定义提醒动画

自定义提醒样式

等等...... 

10、支持Lottie

通过自定义ContentView,能够添加Lottie的LAAnimationView到Item

支持环境

  • Xcode 8 or later

  • iOS 8.0 or later

  • ARC

  • Swift 3 or later

本文地址:https://codercto.com/soft/d/11443.html

反应式设计模式

反应式设计模式

Roland Kuhn、Brian Hanafee、Jamie Allen / 何品、邱嘉和、王石冲、林炜翔审校 / 清华大学出版社 / 2019-1-1 / 98.00 元

《反应式设计模式》介绍反应式应用程序设计的原则、模式和经典实践,讲述如何用断路器模式将运行缓慢的组件与其他组件隔开、如何用事务序列(Saga)模式实现多阶段事务以及如何通过分片模式来划分数据集,分析如何保持源代码的可读性以及系统的可测试性(即使在存在许多潜在交互和失败点的情况下)。 主要内容 ? “反应式宣言”指南 ? 流量控制、有界一致性、容错等模式 ? 得之不易的关于“什么行不通”的经验 ? ......一起来看看 《反应式设计模式》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具