UI总结(二)

  • 手势

屏幕快照 2016-07-22 下午8.18.32.png

状态:

longPress.state == UIGestureRecognizerStateBegan
pan.state == UIGestureRecognizerStateChanged
pan.state == UIGestureRecognizerStateEnded

注意:UIImageView 和UILabel 用户交互(userInteractionEnabled)默认为NO,需打开

1.轻拍

初始化:init
属性:
numberOfTapsRequired 点击几次触发
numberOfTouchesRequired 需要几个手指触发

2.长按

初始化:init
属性:
minimumPressDuration 长按几秒触发 默认0.5
allowableMovement 长按移动的距离 默认10像素

3.清扫

初始化:init
属性:
direction 方向 左右和上下不可同时使用
例如:

swipe.direction = UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight;
4.平移

初始化:init

5.捏合

初始化:init

pinch.view.transform = CGAffineTransformScale(pinch.view.transform, pinch.scale, pinch.scale);

设置缩放倍数:

pinch.scale = 1;
6.旋转

初始化:init

rotation.view.transform = CGAffineTransformRotate(rotation.view.transform, rotation.rotation);

设置旋转弧度:

rotation.view.transform = CGAffineTransformRotate(rotation.view.transform, rotation.rotation);
7.屏幕边缘手势

初始化:init
属性:edge

screenEdgePan.edges =UIRectEdgeLeft;
  • UIViewController

屏幕快照 2016-07-22 下午8.50.46.png
1.UISwitch

初始化:init
属性:
onTintColor 开关内颜色(黄色区域)


屏幕快照 2016-07-22 下午8.54.11.png

tintColor 切换到关闭时的颜色(蓝色区域)


屏幕快照 2016-07-22 下午8.55.33.png

thumbTintColor 开关按钮(圆圈)颜色
屏幕快照 2016-07-22 下午8.54.11.png

判断开闭状态:
switch1.isOn ? @"YES" : @"NO"

switch1.on = YES;
[switch1 setOn:YES animated:YES];
绑定事件:
forControlEvents:UIControlEventValueChanged

2.UISlider

初始化:init
属性:
backgroundColor 背景色
value 滑动条所在当前值(.f)
minimumValue 滑块最小值(.f)
maximumValue 滑块最大值(.f)
thumbTintColor 滑块颜色
minimumTrackTintColor 滑块以左颜色
maximumTrackTintColor 滑块以右颜色
continuous NO:松手时才触发的方法
setThumbImage 显示滑块图片
minimumValueImage 最小值显示的图片
maximumValueImage 最大值显示的图片
setMinimumTrackImage 设置滑动条左侧图片
setMaximumTrackImage 设置滑动条右侧图片

3.UISegmentControl

初始化:
initWithItems: @[ , , ];
frame 不给值,系统会自动计算大小
momentary 没有选中效果
numberOfSegments 分段控制器Items的个数
insertSegmentWithTitle: atIndex: 增添对应下标的标题
remove 移除
setTitle:forSegmentAtIndex 修改对应下标的标题
setWidth: forSegmentAtIndex: 设置对应下标的宽度 默认0.0
setContentOffset: 设置对下标内容的偏移
setEnabled 是否可以被选中
selectedSegmentIndex 选中的下标
tintColor 文字及边框颜色
apportionsSegmentWidthsByContent 自动计算分段控制器段宽 默认: NO
绑定事件:
forControlEvents:(UIControlEventValueChanged)

4.pageControl

初始化: init
属性:
numberOfPages 页数
currentPage 当前页
hidesForSinglePage 当只有一页时隐藏
sizeForNumberOfPages: 获取到点的大小 CGSize类型
pageIndicatorTintColor 未选中的小圆点颜色
currentPageIndicatorTintColor 当前页小圆点颜色
defersCurrentPageDisplay 关闭page切换时间
updateCurrentPageDisplay 开启page切换事件
绑定事件:
forControlEvents:(UIControlEventValueChanged)]

  • ScrollView

继承于 UIResponder

属性

contentSize 滚动范围 CGSizeMake 默认为(0.0)
contentOffset 滚动偏移量 CGPointMake 默认为CGPointZero
contentInset 滚动区域四周的滚动范围 UIEdgeInsetsMake
directionalLockEnabled 锁定垂直或水平滚动
bounces 边缘回弹效果
alwaysBounceHorizontal 存在水平弹动效果
alwaysBounceVertical 存在垂直弹动效果
pagingEnabled 按页滚动
scrollEnabled 能否滚动
showsHorizontalScrollIndicator 显示水平滚动条
showsVerticalScrollIndicator 显示垂直滚动条
scrollIndicatorInsets 滚动条边距 UIEdgeInsetsMake
indicatorStyle 滚动条颜色
// UIScrollViewIndicatorStyleDefault,
// UIScrollViewIndicatorStyleBlack,
// UIScrollViewIndicatorStyleWhite
scrollsToTop 双击回顶部
keyboardDismissMode 键盘消失模式
minimumZoomScale 缩放最小
maximumZoomScale缩放最大
如果想进行视图的缩放,必须实现viewForZoomingInScrollView

  -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
  return [scrollView.subviews firstObject];
  }

scrollView.tracking 是否开始拖动 scrollView.isTracking
scrollView.dragging 是否正在拖动 scrollView.isDragging
scrollView.decelerating 是否正在减速scrollView.isDecelerating
添加代理

    @interface ViewController ()<UIScrollViewDelegate>
    @end

实现方法:
scrollViewWillBeginDragging: 滚动视图将要开始拖拽
scrollViewDidEndDragging: 滚动视图已经结束拖拽
scrollViewWillBeginDecelerating: 将要开始减速
scrollViewDidEndDecelerating: 已经结束减速

  • UINavigationController

继承于 UIViewController
初始化: init
属性:
title 标题(影响tabBar)
navigationItem.title 标题
titleView (将UISegmentedControl放在titleView上)
leftBarButtonItem:(自定义)
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"back" style:(UIBarButtonItemStylePlain) target:self action:@selector(comeBack:)];
rightBarButtonItem:(系统自带)
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:(UIBarButtonSystemItemAdd) target:self action:nil];
BarButtonItems
UIBarButtonItem * barButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"1" style:(UIBarButtonItemStylePlain) target:self action:nil];
UIBarButtonItem * barButtonItem1 =[[UIBarButtonItem alloc]initWithTitle:@"2" style:(UIBarButtonItemStylePlain) target:self action:nil];
self.navigationItem.leftBarButtonItems = @[barButtonItem,barButtonItem1];
隐藏navigationBar
navigationController.navigationBarHidden
navigationController.navigationBar.hidden
barStyle
self.navigationController.navigationBar.barStyle
// UIBarStyleDefault = 0,
// UIBarStyleBlack = 1,
barTintColor背景颜色
半透明
navigationController.navigationBar.backgroundColor
不透明
navigationController.navigationBar.barTintColor
tintColor bar字体和边框颜色
navigationController.navigationBar.tintColor
translucent 半透明效果 NO时 原点从(0,64)开始
navigationController.navigationBar.translucent
与translucent 效果一样
edgesForExtendedLayout = UIRectEdgeNone;
push
[self.navigationController pushViewController:[[PushViewController alloc]init] animated:YES];
pop
[self.navigationController popViewControllerAnimated:YES];

  • 界面通信

属性传值 从前往后
2.m
property(nonatomic,copy)NSString * passString;// 不要和系统重名
1.m
secVC.passString = _titleLabel.text;
协议传值
声明协议2.h -> 声明代理人2.h -> 签代理1,m -> 签协议1.m -> 实现方法1.m -> 传值2.m

声明协议:

@protocol passValue <NSObject>
// 默认 @required 必须实现
//     @optional 可选
-(void)passValue:(NSString *)value;
@end

声明代理人:
#warning 声明代理人
@property(nonatomic,weak)id<passValue>delegate;
签代理:

 secVC.delegate = self;

签协议:
#warning 签订协议
@interface FirstViewController ()<passValue>
实现方法:
#warning 实现协议方法
-(void)passValue:(NSString *)value{
NSLog(@"%@",value);
}
传值:

[self.delegate passValue:_tf.text];
  • UITabBarController

高度:49
设为根视图:
ViewController * vc1 = [[ViewController alloc]init];
vc1.view.backgroundColor = [UIColor yellowColor];
UINavigationController * navi1 = [[UINavigationController alloc]initWithRootViewController:vc1];
ViewController * vc2 = [[ViewController alloc]init];
vc2.view.backgroundColor = [UIColor redColor];
UINavigationController * navi2 = [[UINavigationController alloc]initWithRootViewController:vc2];
UITabBarController * tabBar = [[UITabBarController alloc]init];
tabBar.viewControllers = @[navi1,navi2];
_window.rootViewController = tabBar;
属性:
barTintColor bar背景色
tabBar.tabBar.barTintColor = [UIColor whiteColor];
tintColor bar 元素
tabBar.tabBar.tintColor = [UIColor blackColor];
tabBar.translucent 是否透明
tabBar.tabBar.translucent = YES;
tabBarItem.badgeValue 角标
vc1.tabBarItem.badgeValue = @"1000";
appearance 全局设置
UINavigationBar
[[UINavigationBar appearance]setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithWhite:0.038 alpha:1.000]}];
UITabBar
[[UITabBar appearance] setTintColor:[UIColor colorWithRed:0.869 green:1.000 blue:0.541 alpha:1.000]];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,483评论 1 14
  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,540评论 2 4
  • 代码创建UIWindow对象 Xcode7之后使用代码创建UIWindow对象: //创建UIWindow对象 s...
    云之君兮鹏阅读 1,315评论 0 2
  • 精选农家自养猪肉的精排,去掉多余的大骨头,秘方️配方配制,纯手工装制,无添加,无色素,无烟熏,更健康,更美味
    好好丫头阅读 249评论 0 0
  • 春光那么明媚,鲜花遍地盛开。原本美丽的春季,应该有美丽的心情,突然却对任何事情都失去了兴趣。吃货不爱美食了,喜欢的...
    昭月儿阅读 215评论 8 7