16其他UI内容
来源:互联网 发布:如何雇佣网络水军 编辑:程序博客网 时间:2024/04/23 22:09
- UIDynamic是物理引擎,模仿物理效果
- 知名2D物理引擎 Box2d Chipmunk
- 只有遵守了UIDynamicItem协议的对象
- 重力行为
- UIDynamicAnimator *animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
- 弹性行为UICollisionBehavior *collision = [[UICollisionBehavior alloc] initWithItems:--];
- 通常用辅助行为来设置弹性系数
- [collision addBoundaryWithIdentifier:@"c1" fromePoint:CGPointMake toPoint;自定义一条线为边界
- UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(20, 300, 400, 150)];
- 检测碰到的是哪一根线 设置代理<UICollisionDelegate>
- (void)collisionBehavior -------withBoundaryIdentifier当碰撞的时候就会调用
- 碰撞模式
- item.allowsrotation = YES 是否旋转
- 捕捉行为 UISnapBehavior *snap = [[UISnapBehavior alloc]initWithItem:self.myView snapToPoint:CGPoint]; 比如移动到手指所触摸的点
- 附着行为 需要重力行为initWIthitem:标示产生附着行为的物体 attachedToAnchor:附着的点 没有重力行为附着行为没效果
- 只要重力行为有效果,就会调用 [ --- setAction:^{ 可以在这个方法中划线 }];
- 自定义了view为CZView 在控制器要获取相应的定义的变量要强转CZView = (CZView *)self.view;
- attachiment.damping = 0.5 阻尼系数
- 中心点偏移的改变
- 推力行为[self.view converPoint:(CGPoint) fromView:(UIView*)]; 把fromView中的点坐标转换成self.view的点坐标。
- UIPushBehavior *push = [[UIPushBehavior alloc] initWithItems:@[] mode:UIPushBehaviorMode Continuous]; Insantaneous 一次性会回去
- [NSURL fileURLWithPath:]本地资源
- 改变原来附着点得锚点就可以移动原来的画面了
- 移除附着点
- 自定义layer 中要创建layer 用的方法是-(void)drawInContext:(CGContextRef)ctx{};
- 通过代理方法也可以在控制器中进行绘制图形 创建layer
- keyAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];中间快两边慢
- UIDynamic是物理引擎,模仿物理效果
- 知名2D物理引擎 Box2d Chipmunk
- 只有遵守了UIDynamicItem协议的对象
- 重力行为
- UIDynamicAnimator *animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
- 弹性行为UICollisionBehavior *collision = [[UICollisionBehavior alloc] initWithItems:--];
- 通常用辅助行为来设置弹性系数
- [collision addBoundaryWithIdentifier:@"c1" fromePoint:CGPointMake toPoint;自定义一条线为边界
- UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(20, 300, 400, 150)];
- 检测碰到的是哪一根线 设置代理<UICollisionDelegate>
- (void)collisionBehavior -------withBoundaryIdentifier当碰撞的时候就会调用
- 碰撞模式
- item.allowsrotation = YES 是否旋转
- 捕捉行为 UISnapBehavior *snap = [[UISnapBehavior alloc]initWithItem:self.myView snapToPoint:CGPoint]; 比如移动到手指所触摸的点
- 附着行为 需要重力行为initWIthitem:标示产生附着行为的物体 attachedToAnchor:附着的点 没有重力行为附着行为没效果
- 只要重力行为有效果,就会调用 [ --- setAction:^{ 可以在这个方法中划线 }];
- 自定义了view为CZView 在控制器要获取相应的定义的变量要强转CZView = (CZView *)self.view;
- attachiment.damping = 0.5 阻尼系数
- 中心点偏移的改变
- 推力行为[self.view converPoint:(CGPoint) fromView:(UIView*)]; 把fromView中的点坐标转换成self.view的点坐标。
- UIPushBehavior *push = [[UIPushBehavior alloc] initWithItems:@[] mode:UIPushBehaviorMode Continuous]; Insantaneous 一次性会回去
- [NSURL fileURLWithPath:]本地资源
- 改变原来附着点得锚点就可以移动原来的画面了
- 移除附着点
- 自定义layer 中要创建layer 用的方法是-(void)drawInContext:(CGContextRef)ctx{};
- 通过代理方法也可以在控制器中进行绘制图形 创建layer
- keyAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];中间快两边慢
UIVIew默认遵守了协议
UICollectionViewLayouetAttributes已经遵循了
UIGravityBehavior 重力行为
UICollisionBehavior碰撞行为
UIGravityBehavior *grivity = [[UIGravityBehavior alloc] initWithItems:@[self.myView];
grivity.gravityDirection = CGVectorMake( ,);
grivity.angle = 0;弧度方向 跟上面的设置有矛盾,哪个在下面哪个起作用M_PI_2
grivity.magnitude = 1; 设置重力加速度 和gravityDiretion有矛盾
[animator addBehavior:grivity];
collision.translatesRefrernceBoundsIntoBoundary = YES;
[self.animator addBehavior:collision];
UIDynamicItemBehavior *item =UIDynamicItemBehavior alloc] initWithItems:@[self.myView]];辅助行为
item.resistance = 1;阻力
item.elasticity = 0.5;弹性系数
只要是行为就要添加
[collision addBoundaryWithIdentifier:@"c2" forPath:path];
collision.collisionDelegate = self;
beganContactForItem:标示碰撞的物体
identifier:标示边界的标示符
atPoint:标示碰撞的点
UIView *view = (UIView*) item; 要强转
collision.collisionMode = UICollisionBehaviiorModeItems; 只和物体碰撞
Boundaries只和边界碰撞
everything都碰撞
阻力系数snap.damping = 0.5; 取值范围是0.5~1; 默认应该是0.5
UIAttachmentBehavior *attachment = [[UIAttachmentBehavior alloc] initWithItem:self.myView attachedToAnchor:point];
attachiment.frequency = 0.5频率
attachiment.length 是附着点和中心点得距离
UIAttachmentBehavior *attachment = [[UIAttachmentbehavior alloc] initWithItem:@[self.myView] offsetFromCenter:UIOffset attachedToAnchor:CGPoint];
触摸点 和物体的中心点进行计算 加速度方向
方向 push.pushDirection = CGVectorMake(pushX, pushY);
加速度 push.magnitude = sqrt();
[NSURL urlWith:http://]网络资源
self.attachment.anchorPoint = point;
[self.animator remove ----];
记住在自定义中的地方要重绘。[layer setNeedsDisplay] view也有这个方法
代理或者继承都要重绘
- toolBar要设置高度要不然是透明的
- NSIndexPath *path = [self.tableView indexPathForSelectedRow];
- json解析
1.获取路径转成 NSData 2进制
NSData *data = [NSData dataWithContentsOfFile:path];
2.第二个参数返回可变的容器 数组或者字典
[NSJSONSerialization JSONObjectWithData:data options:NSJONReadingMutableCont
3.再就和plist一样
ainers error:返回错误的指针
忽略警告方法
- 新特性应该以沙盒中和手机版本号进行比较
- 更新的时候沙盒的东西是不变的
- 获取info.plist
- 查看key右键info.plist查看源代码 [UIApplication shareApplication].keyWindow
- webView加载网页
[UIApplication shareApplication].window
self.view.window当前view所在的window
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];ios9默认不允许加载http 只允许https
家在本地的是
NSURL *url = [NSBundle mainBundle] URLForResource:@"help.html", withExtension
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[webView loadRequest:req];
window.onload= function(){
document.location.href= '#xl';
}
- 加载网页是在加载网页之后用delegate,
- (void)webViewDidFinishLoad:(UIWebView *)webView{};
- 用webView去执行js代码
- NSString *code = @"document.location.href = '#xl';
[webView stringByEvaluatingJavaScriptFromString:code];
5.bundle display name改名字
- 改名字要新建strings 名字是InfoPlist.strings
- gitHub搜索ios-system
- 想看字典里边的内容 [dict description];
- residemenu 侧滑菜单 qq
NSDictionary * idct = [NSBundle mainBundle].infoictionary;
UIVIew默认遵守了协议
UICollectionViewLayouetAttributes已经遵循了
UIGravityBehavior 重力行为
UICollisionBehavior碰撞行为
UIGravityBehavior *grivity = [[UIGravityBehavior alloc] initWithItems:@[self.myView];
grivity.gravityDirection = CGVectorMake( ,);
grivity.angle = 0;弧度方向 跟上面的设置有矛盾,哪个在下面哪个起作用M_PI_2
grivity.magnitude = 1; 设置重力加速度 和gravityDiretion有矛盾
[animator addBehavior:grivity];
collision.translatesRefrernceBoundsIntoBoundary = YES;
[self.animator addBehavior:collision];
UIDynamicItemBehavior *item =UIDynamicItemBehavior alloc] initWithItems:@[self.myView]];辅助行为
item.resistance = 1;阻力
item.elasticity = 0.5;弹性系数
只要是行为就要添加
[collision addBoundaryWithIdentifier:@"c2" forPath:path];
collision.collisionDelegate = self;
beganContactForItem:标示碰撞的物体
identifier:标示边界的标示符
atPoint:标示碰撞的点
UIView *view = (UIView*) item; 要强转
collision.collisionMode = UICollisionBehaviiorModeItems; 只和物体碰撞
Boundaries只和边界碰撞
everything都碰撞
阻力系数snap.damping = 0.5; 取值范围是0.5~1; 默认应该是0.5
UIAttachmentBehavior *attachment = [[UIAttachmentBehavior alloc] initWithItem:self.myView attachedToAnchor:point];
attachiment.frequency = 0.5频率
attachiment.length 是附着点和中心点得距离
UIAttachmentBehavior *attachment = [[UIAttachmentbehavior alloc] initWithItem:@[self.myView] offsetFromCenter:UIOffset attachedToAnchor:CGPoint];
触摸点 和物体的中心点进行计算 加速度方向
方向 push.pushDirection = CGVectorMake(pushX, pushY);
加速度 push.magnitude = sqrt();
[NSURL urlWith:http://]网络资源
self.attachment.anchorPoint = point;
[self.animator remove ----];
记住在自定义中的地方要重绘。[layer setNeedsDisplay] view也有这个方法
代理或者继承都要重绘
- 16其他UI内容
- UI和其他
- 读书笔记--其他UI组件
- ui--其他控件
- javaweb一些其他内容
- UI测试内容
- 获得其他网页内容代码
- ITUNE清理“其他”的内容
- android中UI优化内容
- ui内容随键盘变化
- Unity,UI实现滚动内容
- 在其他线程中访问UI线程
- android学习第四天,其他UI控件
- CSplitterWnd 和其他 UI 交互的问题
- 将16进制内容的txt文件写成其他文件
- 获取其他程序中TreeView的内容
- 读取其他应用程序中ListView中的内容
- 使用netclasses访问其他网站内容
- LintCode 删除链表中等于给定值val的所有节点
- Android 截屏并保存
- css 长单词不换行溢出容器的解决方法 word-wrap与word-break
- centos配置mutt跟msmtp发送邮件
- phpredis中文手册——《redis中文手册》 php版
- 16其他UI内容
- FragmentTabhost学习笔记
- Genymotion出现”Unable to load VirtualBox engine“的问题解决
- float和double的内存布局
- 内存溢出java.lang.OutOfMemoryError解决方法
- MSDN中对MSBuild的解释页
- 17多线程原理 & NSThread
- poj1543Perfect Cubes
- 18.GCD