用iOS的UI知识编出霓虹灯效果(精华小题卡塔尔国

for (int i =0 ; i < 7; i++) {

UIView *view = [[UIViewalloc] initWithFrame:CGRectMake(0 + i *20, 0

  • i *20,320 – 40 * i ,568 – i * 40)];

CGFloat color = (arc4random() %256 /255.0 );

CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5;

CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5;

view.backgroundColor = [UIColorcolorWithHue:color saturation:saturation
brightness:brightnessalpha:1];

[self.windowaddSubview:view];

[view release];

}

) for (int i
=0 ; i UIView *view = [[UIViewalloc]initWithFrame:CGRectMake(0 i
*20,0 i *20,320 -40 * i ,568 – i *40)]; CGFloat col…

iOS之UI编制程序–霓虹灯的落到实处

学习UI编制程序已经有三五日了,这段日子学习了生机勃勃部分至少的视图和控件,举个例子UIView,UIlabel甚至UIButton.,学习UI编制程序,有少数野趣正是团结写的代码能够看到效果了。那一点和C语言以致OC分裂十分大。于是作者就尝试做了叁个精简视图颜色转换的行使,也便是霓虹灯。达成的功力能够由里而外,也能够由外到里,仍然为能够暂停。由于水平有限,再加上还不曾读书NSTimer,只是从互连网掌握到了轻巧地采取,所以代码完成上或许会略微标题,算法不是最优的,还望大神们议论辅导。贴上一张截图:

图片 1vcnPtPrC68q1z9ajujwvcD4KPHA+PC9wPgo8cHJlIGNsYXNzPQ==”brush:java;”>#import
“ZZAppDelegate.h” @interface ZZAppDelegate () { UIView
*_containerView; NSTimer *_timer; } @end @implementation
ZZAppDelegate – (BOOL)application:(UIApplication *经典小题,霓虹灯的实现。)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen
mainScreen] bounds]]; // Override point for customization after
application launch. self.window.backgroundColor = [UIColor grayColor];
_containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320,
568)]; _containerView.backgroundColor = [UIColor clearColor];
[self.window addSubview:_containerView]; [_containerView release];
// 视图结构 NSArray *array = [NSArray arrayWithObjects:[UIColor
redColor], [UIColor orangeColor], [UIColor yellowColor], [UIColor
greenColor], [UIColor blueColor], [UIColor cyanColor], [UIColor
purpleColor], nil]; for (int i = 0; i < 7; i++) { UIView *view =
[[UIView alloc] initWithFrame:CGRectMake(20 + i * 20, 120 + i * 20,
280 – i * 40, 280 – i * 40)]; view.backgroundColor = array[i];
view.tag = i + 200; NSLog(@”%ld”, (long)view.tag); [_containerView
addSubview:view]; [view release]; } // 创制由内而外按键 UIButton
*button1 = [UIButton buttonWithType:UIButtonTypeSystem ];
button1.frame = CGRectMake(40, 450, 70, 40); button1.backgroundColor =
[UIColor cyanColor]; [button1 setTitle:@”由内而外”
forState:UIControlStateNormal]; [button1 addTarget:self
action:@selector(changeFromInToOut)
forControlEvents:UIControlEventTouchUpInside];
button1.layer.cornerRadius = 7; [_containerView addSubview:button1];
// 创立结束开关 UIButton *button2 = [UIButton
buttonWithType:UIButtonTypeSystem ]; button2.frame = CGRectMake(125,
450, 70, 40); button2.backgroundColor = [UIColor cyanColor]; [button2
setTitle:@”停止” forState:UIControlStateNormal]; [button2
addTarget:self action:@selector(stop)
forControlEvents:UIControlEventTouchUpInside];
button2.layer.cornerRadius = 7; [_containerView addSubview:button2];
// 成立由外而内按键 UIButton *button3 = [UIButton
buttonWithType:UIButtonTypeSystem ]; button3.frame = CGRectMake(210,
450, 70, 40); button3.backgroundColor = [UIColor cyanColor]; [button3
setTitle:@”由外而内” forState:UIControlState诺玛l]; [button3
addTarget:self action:@selector(changeFromOutToIn)
forControlEvents:UIControlEventTouchUpInside];
button3.layer.cornerRadius = 7; [_containerView addSubview:button3];
[self.window makeKeyAndVisible]; return YES; } // 由内而外按键触发事件

  • (void)changeFromInToOut { _timer = [NSTimer
    scheduledTimerWithTimeInterval:0.3 target:self
    selector:@selector(changeInToOut) userInfo:nil repeats:YES]; } //
    由外而内开关出触发事件 – (void卡塔尔(英语:State of Qatar)changeFromOutToIn { _timer = [NSTimer
    scheduledTimerWithTimeInterval:0.3 target:self
    selector:@selector(changeOutToIn) userInfo:nil repeats:YES]; } //
    暂停机械漏刻 – (void卡塔尔国stop { [_timer invalidate]; } //
    由内而外循环调换颜色 – (void卡塔尔(قطر‎changeInToOut { UIView *temp = [[UIView
    alloc] init]; int i = 200; temp.backgroundColor = [_containerView
    viewWithTag:200].backgroundColor; for (i = 200; i < 207; i++) {
    [_containerView viewWithTag:i].backgroundColor = [_containerView
    viewWithTag: i + 1].backgroundColor; } [_containerView
    viewWithTag:206].backgroundColor =temp.backgroundColor; [temp
    release]; } // 由外而内循环调换颜色 – (void卡塔尔changeOutToIn { UIView
    *temp = [[UIView alloc] init]; int i = 206; temp.backgroundColor =
    [_containerView viewWithTag:206].backgroundColor; for (i = 206; i
    >= 0; i–) { [_containerView viewWithTag:i].backgroundColor =
    [_containerView viewWithTag: i – 1].backgroundColor; }
    [_containerView viewWithTag:200].backgroundColor
    =temp.backgroundColor; [temp release]; } – (void)dealloc { [_window
    release]; [super dealloc]; } @end

学习UI编制程序已经有三五日了,这两天学习了有的低档的视图和控件,比如UIView,UIlabel以至UIButton.,学习UI编制程序,有风华正茂…

Size Classes 具体应用

  • 对显示器举行归类

转发来至http://www.jianshu.com/p/2ba717122951

UIView和CALayer是怎么着关系?

  • UIView突显在荧屏上归功于CALayer,通过调用drawRect方法来渲染本身的从头到尾的经过,调解CALayer属性能够调治UIView的外观,UIView世襲自UIResponder,比起CALayer能够响应客户事件,Xcode6之后能够低价的通过视图调节和测量检验功能查看图层之间的关联
  • UIView是iOS系统中分界面成分的根底,全部的分界面成分都无冕自它。它里面是由Core
    Animation来贯彻的,它确实的绘图部分,是由三个叫CALayer(Core
    Animation
    Layer卡塔尔的类来保管。UIView本人,更疑似一个CALayer的微型机,访谈它的跟绘图和坐标有关的习性,如frame,bounds等,实际上里面都以寻访它所在CALayer的连带属性
  • UIView有个layer属性,能够回去它的主CALayer实例,UIView有一个layerClass方法,返回主layer所使用的类,UIView的子类,能够经过重载这些措施,来让UIView使用分化的CALayer来展现,如:

-  layerClass { // 使某个UIView的子类使用GL来进行绘制 return ([CAEAGLLayer class]);}
  • UIView的CALayer相仿UIView的子View树形布局,也得以向它的layer上加多子layer,来产生有个别特殊的显示。举例上边包车型地铁代码会在指标View上敷上风华正茂层栗色的透明薄膜。

grayCover = [[CALayer alloc]init];grayCover.backgroudColor = [[UIColor blackColor]colorWithAlphaComponent:0.2].CGColor;[self.layer addSubLayer:grayCover];
  • 补给部分,那有的有深度了,大约领会一下啊,UIView的layer树形在系统里头被系统尊敬着三份copy
    • 逻辑树,就是代码里能够操纵的,比如修正layer的品质等等就在这里大器晚成份
    • 动漫片树,那是壹当中间层,系统就是在这里大器晚成层上改造属性,举办各样渲染操作
    • 来得树,那棵树的源委是现阶段正被出示在显示器上的内容
    • 那三棵树的逻辑构造都以千篇意气风发律的,不同只有些的属性

目录
下拉刷新
模糊效果
AutoLayout
富文本
图表
表相关与Tabbar
潜伏与体现
HUD与Toast
对话框
其他UI

loadView的作用?

  • loadView用来自定义view,只要达成了那几个法子,别的通过xib或storyboard创立的view都不会被加载
  • 看懂调整器view创立的这一个图就能够

图片 2

具体内容
下拉刷新
EGOTableViewPullRefresh

IBOutlet连出去的视图属性为何能够被设置成weak?

  • 因为父控件的subViews数组已经对它有三个强引用
  • 最初的下拉刷新控件。
    SVPullToRefresh
  • 下拉刷新控件。

    MJRefresh

    仅需黄金时代行代码就足以为UITableView或许CollectionView加上下拉刷新或然上拉刷新功用。能够自定义上下拉刷新的文字表明。具体选取看“使用方法”。
    (国人写)
    XHRefreshControl

  • XHRefreshControl
    是生机勃勃款高扩大性、低耦合度的下拉刷新、上提加载越来越多的构件。(国人写)
    CBStoreHouseRefreshControl
  • 二个意义十分炫丽的下拉刷新控件。
    BreakOutToRefresh
  • 二个下拉刷新打砖块的开源 Swift库,能让客商在守候下拉刷新的时候边玩撞球游戏边等待。

    KYJellyPullToRefresh

    达成弹性物理意义的下拉刷新,美妙的贝塞尔曲线,合营UIDynamic写的一个拟物的下拉刷新动漫。
    MHYahooParallaxView

  • 贴近于Yahoo Weather和News Digest首屏的视差滚动。
    SDRefreshView
  • 简单易行易用的上拉和下拉刷新(多版本细节适配)。

    ZLSwiftRefresh

    swift下拉刷新/上拉加载越多,协理自定义动漫,集成轻巧,宽容UITableView/CollectionView/ScrollView/WebView。
    BreakOutToRefresh

  • swift,上拉和下拉刷新。
    GearRefreshControl
  • swift,上拉和下拉刷新。
    refresher
  • swift,上拉和下拉刷新。
    可进行/收缩的下拉菜单–SvpplyTable
  • 二个可举办可减弱的下拉菜单,相似Svpply app。
    ODRefreshControl
  • 原iOS6上的橡皮糖刷新样式,很有趣。未来也很多大的 App
    在用,比方虾米音乐和 QQ 客商端。
    PullToMakeSoup
  • PullToMakeSoup, 自定义下拉刷新的动漫片效果:煮饭, Yalantis新作!
    TwitterCover
  • 脸谱 iOS顾客端的下拉封面模糊效果。
    Replace-iOS
  • Replace-iOS 令人眼下大器晚成亮的下拉刷新(iOS)。
    ReplaceAnimation.swift
  • 借助 @ZeeYoung欧阳哲
    同学的创新意识下拉刷新动漫达成。值得夸奖还应该有额外增加了“废除及滚动”效果协理。

    Animations

    装进了一下,使用的时候若是两行代码。一些卡通的飞机稿,都以一些单独分离出来的用来测量检验的子动漫,今后集结归类一下。
    PullToBounce

  • 下拉刷新的卡通 for UIScrollView。
    WaterDropRefresh
  • 仿Path 水滴的下拉刷新作用 还会有视差滚动。
    ESRefreshControl
  • 仿果壳网博客园、百度外送食物、新浪新闻下拉刷新样式德姆o(仅供仿照效法)。
    WaveRefresh
  • 下拉刷新水波纹动漫。
    DGElasticPullToRefresh
  • 是黄金时代款含有弹性效果的 iOS 下拉刷新组件。
    CALayerAnimationDemoh
  • 双向注水动漫下拉刷新组件,使用CALayer的mask完成。

    BanTangAnimation

    半糖下拉刷新的准绳。轻巧的话是运用CGGlyph,字符图形调换来cgpath,然后绘制strokeEnd动漫。把timeoffset和scrolloffset结合就可以了。

IB中User Defined Runtime Attributes如何行使?

  • User Defined Runtime
    Attributes是一个不被正视但效果特别苍劲的的性状,它亦可透过KVC的点子铺排部分你在interface
    builder中不能够安插的性质
  • 当你指望在IB中作尽只怕多得事情,那特性格能够援助你编写尤其轻量级的viewcontroller

指鹿为马效果

沙盒目录构造是怎么的?各自用于那多少个场景?

  • Application:贮存程序源文件,上架前透过数字签字,上架后不足改良
  • Documents:常用目录,iCloud备份目录,寄存数据
  • Library
    • Caches:寄放体量大又无需备份的数目
    • Preference:设置目录,iCloud会备份安装消息
  • tmp:寄存有时文件,不会被备份,并且这一个文件下的数码有不小希望随时被拔除的或是

FXBlurView

是七个UIView子类,协理iOS5.0上述版本,协理静态、动态模糊效果,世袭与UIView的混淆特效。
VVBlurPresentation
-十分轻易易用的在原先viewconntroller功底上做模糊,然后present新的viewcontroller的。
UICustomActionSheet

  • 透过模糊背景来重视重申与菜单相关的成分–对话框 里面早就收藏。
    SABlurImageView
  • 援救渐变动漫功能的图像模糊化类库。P.S. 与几日前推存类库
    SAHistoryNavigationViewController 是生龙活虎律位我。
    Blurable.swift
  • swift模糊组件。

AutoLayout

相关文章