1、UIMotionEffect简介

  在iOS7.0推出了UIMotionEffect运动视觉效果,就是从屏幕偏移不同角度、看到的效果不同!

NS_CLASS_AVAILABLE_IOS(7_0)
@interface UIMotionEffect : NSObject <NSCopying, NSCoding>
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
//观察者的角度偏移viewerOffset,获取运动视觉效果的各项属性和值
- (nullable NSDictionary<NSString *, id> *)keyPathsAndRelativeValuesForViewerOffset:(UIOffset)viewerOffset;
@end typedef NS_ENUM(NSInteger, UIInterpolatingMotionEffectType) {
UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis,//X轴
UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis//Y轴
}; @interface UIInterpolatingMotionEffect : UIMotionEffect
- (instancetype)initWithKeyPath:(NSString *)keyPath type:(UIInterpolatingMotionEffectType)type NS_DESIGNATED_INITIALIZER;//初始化
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER; @property (readonly, nonatomic) NSString *keyPath;//获取角度偏移
@property (readonly, nonatomic) UIInterpolatingMotionEffectType type;//获取类型
@property (nullable, strong, nonatomic) id minimumRelativeValue;//最小角度偏移
@property (nullable, strong, nonatomic) id maximumRelativeValue;//最大角度偏移
@end @interface UIMotionEffectGroup : UIMotionEffect
@property (nullable, copy, nonatomic) NSArray<__kindof UIMotionEffect *> *motionEffects;//添加水平和垂直效果添加到对应UI上
@end

2、简单使用

- (void)addEffectWithOffset:(NSInteger)offset withView:(UIView *)view{
UIInterpolatingMotionEffect *effectX = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.x" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
effectX.minimumRelativeValue = @(-offset);
effectX.maximumRelativeValue = @(offset); UIInterpolatingMotionEffect *effectY = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.y" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
effectY.minimumRelativeValue = @(-offset/);
effectY.maximumRelativeValue = @(offset/); // UIMotionEffectGroup *group = [[UIMotionEffectGroup alloc] init];
// group.motionEffects = @[effectX,effectY];
view.motionEffects = @[effectX,effectY];
}

iOS开发UIMotionEffect运动视觉效果的更多相关文章

  1. iOS开发UI篇—核心动画(关键帧动画)

    转自:http://www.cnblogs.com/wendingding/p/3801330.html iOS开发UI篇—核心动画(关键帧动画) 一.简单介绍 是CApropertyAnimatio ...

  2. iOS开发 滤镜的使用

    iOS开发之滤镜的使用技巧(CoreImage)   一.滤镜的内容和效果是比较多并且复杂的 ,学习滤镜需要技巧 如下: 两个输出语句解决滤镜的属性选择问题: 1.查询效果分类中包含什么效果按住com ...

  3. iOS开发 Xcode8中遇到的问题及改动

      iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康 ...

  4. 转载:iOS开发之让你的应用“动”起来

    在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画 ...

  5. iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控

    -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计.今天我们就针对iOS的触摸事 ...

  6. iOS开发系列--让你的应用“动”起来

    --iOS核心动画 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建 ...

  7. iOS开发之窥探UICollectionViewController(五) --一款炫酷的图片浏览组件

    本篇博客应该算的上CollectionView的高级应用了,从iOS开发之窥探UICollectionViewController(一)到今天的(五),可谓是由浅入深的窥探了一下UICollectio ...

  8. iOS开发之各种动画各种页面切面效果

    因工作原因,有段时间没发表博客了,今天就发表篇博客给大家带来一些干货,切勿错过哦.今天所介绍的主题是关于动画的,在之前的博客中也有用到动画的地方,今天就好好的总结一下iOS开发中常用的动画.说道动画其 ...

  9. iOS开发之自定义表情键盘(组件封装与自动布局)

    下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自 ...

随机推荐

  1. List<Map<String,Object>> 中文排序

    @RequestMapping(value = "/getBaseCodess", method = RequestMethod.GET) public ModelAndView ...

  2. JUC 一 ReentrantLock 可重入锁

    java.util.concurrent.locks ReentrantLock即可重入锁,实现了Lock和Serializable接口 ReentrantLock和synchronized都是可重入 ...

  3. poi之Excel(在线生成)下载

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. poi之Excel下载 @RequestMappi ...

  4. Impala的安装和使用

    通过本地yum源进行安装impala 所有cloudera软件下载地址 http://archive.cloudera.com/cdh5/cdh/5/ http://archive.cloudera. ...

  5. NX二次开发-UFUN拉伸函数UF_MODL_create_extruded2

    NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...

  6. NX二次开发-UFUN获取点在面上的向量方向UF_MODL_ask_face_props【转载】

    1 NX11+VS2013 2 3 4 #include <uf.h> 5 #include <uf_ui.h> 6 #include <uf_modl.h> 7 ...

  7. vijos1710 Mrw的工资计划

    #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> ...

  8. man命令的使用方法

    转载自:http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html Linux man命令的使用方法 Linux提供了丰富的帮助手册 ...

  9. Neo4j 3.5发布,在索引方面大幅增强

    Neo4j 3.5版本已正式发布,这也是Neo4j宣布企业版闭源以来发布的第一个版本. 这个版本在性能.资源使用率以及安全方面均有增强,我们可以先快速浏览一下这个版本: 全文索引 基于Index的快速 ...

  10. hashmap1.7的死锁模拟

    package com.cxy.springdataredis.hashmap; import javax.lang.model.element.VariableElement; import jav ...