iOS开源项目:FlatUIKit
FlatUIKit是iOS中具有扁平化风格的UI(Flat UI)组件。FlatUIKit的设计灵感来源于Flat UI和Kyle Miller。FlatUIKit中的组件是通过扩展(category)或继承iOS SDK中已有的UIKit组件来实现的,因此在程序中使用FlatUIKit非常方便。
https://github.com/Grouper/FlatUIKit
FUIButton是UIButton的子类,通过设置UIButton的一系列属性来把样式定义成扁平化的
FUIButton *button = [[FUIButton alloc] initWithFrame:CGRectMake(, , , )];
button.buttonColor = [UIColor turquoiseColor];
button.shadowColor = [UIColor greenSeaColor];
button.shadowHeight = 3.0f;
button.cornerRadius = 3.0f;
button.titleLabel.font = [UIFont boldFlatFontOfSize:];
[button setTitleColor:[UIColor cloudsColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor cloudsColor] forState:UIControlStateHighlighted];
[button setTitle:@"button" forState:UIControlStateNormal];
[self.view addSubview:button];
FUISegmentedControl是UISegmentedControl的子类,使用上和FUIButton类似,源码也很简单,都是设置一些属性。当然属性的值是很重要的,它们是扁平化设计的关键。
NSArray *array = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
FUISegmentedControl *seg = [[FUISegmentedControl alloc] initWithItems:array];
[seg setFrame:CGRectMake(, , , )];
seg.selectedFont = [UIFont boldFlatFontOfSize:];
seg.selectedFontColor = [UIColor cloudsColor];
seg.deselectedFont = [UIFont flatFontOfSize:];
seg.deselectedFontColor = [UIColor cloudsColor];
seg.selectedColor = [UIColor amethystColor];
seg.deselectedColor = [UIColor silverColor];
seg.dividerColor = [UIColor midnightBlueColor];
seg.cornerRadius = 5.0;
[self.view addSubview:seg];
FUISwitch:
FUISwitch *switchbutton = [[FUISwitch alloc] initWithFrame:CGRectMake(, , , )];
switchbutton.onColor = [UIColor turquoiseColor];
switchbutton.offColor = [UIColor cloudsColor];
switchbutton.onBackgroundColor = [UIColor midnightBlueColor];
switchbutton.offBackgroundColor = [UIColor silverColor];
switchbutton.offLabel.font = [UIFont boldFlatFontOfSize:];
switchbutton.onLabel.font = [UIFont boldFlatFontOfSize:];
[self.view addSubview:switchbutton];
通过几个例子和查看源码,可以看到设计扁平化的UI是如此的简单,主要的原理是通过设置一系列的属性来够着背景图或者背景色,然后更新到UI控件上。看来随心所欲的设计自己喜欢的扁平化风格也不是难事。
iOS开源项目:FlatUIKit的更多相关文章
- iOS开源项目周报0105
由OpenDigg 出品的iOS开源项目周报第四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. He ...
- iOS开源项目周报1229
由OpenDigg 出品的iOS开源项目周报第三期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Ma ...
- iOS开源项目周报1222
由OpenDigg 出品的iOS开源项目周报第二期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. io ...
- iOS开源项目周报1215
由OpenDigg 出品的iOS开源项目周报第一期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. PY ...
- 直接拿来用!最火的iOS开源项目
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...
- (转)直接拿来用!最火的iOS开源项目(二)
“每一次的改变总意味着新的开始.”这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7, ...
- (转)直接拿来用!最火的iOS开源项目(一)
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...
- 40个GitHub上最受欢迎的iOS开源项目
40个GitHub上最受欢迎的iOS开源项目(一) http://www.weste.net/2013/8-1/92975.html 40个GitHub上最受欢迎的iOS开源项目(二) http:// ...
- 【转】GitHub平台最火的iOS开源项目——2013-08-25 17
http://www.cnblogs.com/lhming/category/391396.html 今天,我们将介绍20个在GitHub上非常受开发者欢迎的iOS开源项目,你准备好了吗? 1. AF ...
- iOS开源项目
在结束了GitHub平台上“最受欢迎的Android开源项目”系列盘点之后,我们正式迎来了“GitHub上最受欢迎的iOS开源项目”系列盘点.今天,我们将介绍20个在GitHub上非常受开发者欢迎的i ...
随机推荐
- 易普优APS 5.0高级计划排程系统助力工业4.0智能工厂建设
(一)智能工厂建设核心 <中国制造2025>明确提出要推进制造过程智能化,智能工厂是实现智能制造的重要载体.作为智能工厂,在生产过程应实现自动化.透明化.可视化.精益化的同时,产品检测.质 ...
- python的types模块
python的types模块 1.types是什么: types模块中包含python中各种常见的数据类型,如IntType(整型),FloatType(浮点型)等等. >>> im ...
- vuex 操作姿势
Vuex 应用的核心就是 store,它包含着你的应用中大部分的状态 (state) 你不能直接改变 store 中的状态.改变 store 中的状态的唯一途径就是显式地提交 (commit) mut ...
- YAHOO 35条前端优化建议(转)
Yahoo!的 Exceptional Performance团队为改善 Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.总结出了一系列 ...
- Ubuntu 如何更换阿里源
#进入源地址 cd /etc/apt #备份源文件 sudo cp sources.list sources.list.bak #编辑 sudo vim /etc/apt/sources.list d ...
- ES6-Set 和 Map 数据结构
ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); [2, 3 ...
- Java 继承内部类
大家有没有想过内部类究竟能不能被继承呢? public class Main { public static void main(String[] args){ Outer outer = new O ...
- 长沙理工大学第十二届ACM大赛-重现赛 K - 大家一起来数二叉树吧
题目描述 某一天,Zzq正在上数据结构课.老师在讲台上面讲着二叉树,zzq在下面发着呆. 突然zzq想到一个问题:对于一个n个节点,m个叶子的二叉树,有多少种形态呐?你能告诉他吗? 对于第一组样例的解 ...
- 洛谷P2812 校园网络[数据加强版] [Tarjan]
题目传送门 校园网络 题目背景 浙江省的几所OI强校的神犇发明了一种人工智能,可以AC任何题目,所以他们决定建立一个网络来共享这个软件.但是由于他们脑力劳动过多导致全身无力身体被♂掏♂空,他们来找你帮 ...
- NOIP2013 D1 T3 货车运输
好吧,遇上这种题,作为蒟蒻的我第一个想到的就是怎么打暴力,然而暴力都打不好QAQ!!!于是只能等教练讲解以后,然后在大犇的指导下终于做出来了. 对了,,好像还,没上题....: 题目描述 A 国有 n ...