首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在PPT中呈现高大上的数据仪表盘

PPT中呈现进行数据的交互,因为我们在很多时候在做工作汇报的时候都是以PPT的形式来呈现的。...那有没有好的解决方案,能再PPT中实现数据仪表盘的交互呢?...如果你的数据仪表盘是在POWER BI中完成的,那就可以在PPT中做交互,因为在PB中可以发布仪表盘的网页版,在PPT中有网页的插件,可以实现网页端的交互。...在POWER BI中,数据仪表盘不单单是在DESK桌面呈现,也可以通过WEB端分享给你的同事,所以我们只要在PPT中安装WEB插件就可以来完成PPT中仪表盘的交互。...比如我点击了薪酬对标模型,在PPT上就出现了这个POWER BI的模型,并且是可以在PPT上交互演示的。

2.2K20

iOS开发UIScrollView使用详解 原

@property(nonatomic) BOOL showsHorizontalScrollIndicator; 设置是否显示水平滑动条 @property(nonatomic) BOOL showsVerticalScrollIndicator...; 设置是否显示竖直滑动条 @property(nonatomic) UIEdgeInsets scrollIndicatorInsets; 设置滑动条的位置 @property(nonatomic)...delaysContentTouches; 设置视图是否延迟处理触摸事件(会将消息传递给子视图) @property(nonatomic) BOOL canCancelContentTouches; 设置是否给子视图传递取消动作的消息...)scrollView; 视图动画结束时触发的方法,使用set方法设置偏移量后回触发 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView...; 返回进行缩放的视图 - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view; 视图内容将要开始缩放时触发的方法

1.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    码一个高颜值统计图

    一:介绍 在项目中遇到数据展示需求时,往往会通过,以列表的形式展示出数据或者以表格的形式展示。但是并不能直观的观察数据的变化,如果通过图表的形式来展示,就可以更快捷的获取到数据变化情况。...折线图数据内容显示(FBYLineGraphContentView类) 折线图数据内容显示是继承FBYLineGraphBaseView类进行实现,其中主要包括,X轴最大值、数据内容来实现,代码如下:...折线图核心代码类(FBYLineGraphView类) 折线图核心代码类主要给引用类提供配置接口和数据接口,其中包括表名、Y轴刻度标签title、Y轴最大值、X轴刻度标签的长度(单位长度)、设置折线图显示的数据和对应...xMarkTitlesAndValues 折线图显示的数据和X坐标轴刻度标签 * @param titleKey 标签(如:9月1日) * @param valueKey...property (nonatomic, assign) CGFloat barWidth; ///间距 @property (nonatomic, assign) CGFloat margin; ///可滑动时默认显示的初始偏移距离

    1.8K10

    阅读器多种翻页的设计与实现

    分解UI层的实现,整个动画可以用以下流程来表示: 1、页面初始化,直接显示页面,监听用户pan手势; 2、用户pan手势开始,根据方向确定左滑还是右滑,获取新的VC; 3、处理用户左右滑动,视图跟随用户滑动...效果分解: 1、当用户滑动的过程,视图要跟随手指的移动; 2、当用户往上滑然后松开时,视图要带有加速度的往上滑动;(附加特性:在滑动过程中用户可以通过重复这个行为加速滑动) 3、在视图滑动的过程中...,当添加的view过多的时候会占用内存; UITableView用cell重复利用规避上面的局限,但是存在新的问题:当数据源(排版数据)变化时,需要频繁调用reloadData,造成性能瓶颈;同时reload...B是我们创建的第一个vc,大小和UIScrollView的size一样大;当我们向下滑动时,我们创建vcA放在B的上面; 当我们上滑到vcA完全展示的时候,vcB已经滑动到屏幕外面(红色为窗口大小);...上下滑动的代码不多,但是经过多次尝试再有的定论,中间也换过多次方案,最终优化得到的结论就是demo中的做法。 阅读器的翻页模式多种多样,欢迎交流新的翻页模式或者其他实现方案。

    3.4K10

    iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用

    我们可以轻松的创建出各种手势应用于app中。..."); } 上面我们使用了拖拽手势和touchesMoved两个触发方式,当我们把cancelTouchesInView设置为NO时,在屏幕上滑动,会发现两种方式都在触发,打印如下: ?...4、手势间的互斥处理         有一点需要注意,同一个View上是可以添加多个手势对象的,默认这个手势是互斥的,一个手势触发了就会默认屏蔽其他相似的手势动作,例如: - (void)viewDidLoad...; //设置拖拽速度 - (CGPoint)velocityInView:(nullable UIView *)view; 七、滑动手势——UISwipeGestureRecognizer         ...滑动手势和拖拽手势的不同之处在于滑动手势更快,拖拽比较慢。

    2K20

    Core Animation Programming

    Core Animation 是一个复合引擎,它能快速的组合屏幕上不同显示的内容. 并将其分解成独立图层,存储到Layer Tree 的体系中....,使用图层来创建复杂的编程接口 轻量化的数据结构,它可以同时显示让上百个图层产生动画效果 一套非常较简单的动画接口,能让动画运行在独立的线程中,并可以独立于主线程之外....UIView 具备处理触摸事件的能力,并且支持基于Core Graphics 绘图.来实现仿射变换(比如旋转缩放平移等).或者一些简单的滑动/渐变的动画....实际上,这背后的关联的图层才是真正用来在屏幕上显示和做动画的.UIView 就是对CALayer图层的封装,提供用户交互接口....为何开发者要使用CALayer 根据刚刚的描述,既然CALayer 只是UIView 的内部实现细节,那为何在要来使用或者学习它?

    1.1K10

    iOS 自定义转场动画

    要做转场动画的视图就必须要加入containerView上才能进行,可以理解containerView管理着所有做转场动画的视图 UIView *containerView = [transitionContext...containerView]; //如果加入了手势交互转场,就需要根据手势交互动作是否完成/取消来做操作,完成标记YES,取消标记NO,必须标记,否则系统认为还处于动画过程中,会出现无法交互之类的...//必要调用实现的系统方法 //手势过程中,通过updateInteractiveTransition设置转场过程动画进行的百分比,然后系统会根据百分比自动布局动画控件,不用我们控制了 [self...这个代理方法依赖于上方的方法 ,这个代理实际上是根据交互百分比来控制上方的动画过程百分比 - (nullable id <UIViewControllerInteractiveTransitioning...; // 创建全屏滑动手势,调用系统自带滑动手势的target的action方法 UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer

    1.1K90

    iOS 自定义转场动画

    要做转场动画的视图就必须要加入containerView上才能进行,可以理解containerView管理着所有做转场动画的视图 UIView *containerView = [transitionContext...containerView]; //如果加入了手势交互转场,就需要根据手势交互动作是否完成/取消来做操作,完成标记YES,取消标记NO,必须标记,否则系统认为还处于动画过程中,会出现无法交互之类的...//必要调用实现的系统方法 //手势过程中,通过updateInteractiveTransition设置转场过程动画进行的百分比,然后系统会根据百分比自动布局动画控件,不用我们控制了 [self...这个代理方法依赖于上方的方法 ,这个代理实际上是根据交互百分比来控制上方的动画过程百分比 - (nullable id <UIViewControllerInteractiveTransitioning...; // 创建全屏滑动手势,调用系统自带滑动手势的target的action方法 UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer

    1.3K50

    iOS Core Animation:Advanced Techniques

    这样也可以避免开发者由于对+begin和+commit匹配的失误造成的风险。 第2篇:完成块 基于UIView的block的动画允许你在动画结束的时候提供一个完成的动作。...当你改变一个图层的属性,属性值的确是立刻更新的(如果你读取它的数据,你会发现它的值在你设置它的那一刻就已经生效了),但是屏幕上并没有马上发生改变。...通常在一个图层上调用-modelLayer会返回–self(实际上我们已经创建的原始图层就是一种数据模型)。...虚拟属性 之前提到过属性动画实际上是针对于关键路径而不是一个键,这就意味着可以对子属性甚至是虚拟属性做动画。但是虚拟属性到底是什么呢?...从顶部滑动进入,但不像推送动画那样把老土层推走,然而kCATransitionReveal把原始的图层滑动出去来显示新的外观,而不是把新的图层滑动进入。

    1.9K30

    iOS 惯性滑动效果

    最近公司SDK新搞了个功能,手势滑动地图后,要具备惯性滑动效果的功能。...一、第一种是在手势结束后通过UIView的动画来改蓝色图片的center,因为系统UIView的动画有快进慢出UIViewAnimationOptionCurveEaseOut这种效果可选。...接着就是根据x、y的速度求出总速度,大家可以输出下velocity,看看它的数据,找到它的规律(我就是这样多次看,看出来的)。...最重要的是:我们公司的产品用这种UIView的方式是实现不了的,使用的是矩阵transform,所以接下来就开始第二种方法: 二、两种方法的区别在于处理手势滑动事件,第二种方法我们先定义了几个变量对象:...,但接下来的动作是确定动画调用次数updateCount,为什么updateCount = slideFactor * 120 + 1;也是试出来的,本来是*60,大家可以自行更改看看效果。

    3.3K71

    iOS 优化界面流畅的技巧

    UIView 的关于显示相关的属性(比如 frame/bounds/transform)等实际上都是 CALayer 属性映射来的,所以对 UIView 的这些属性进行调整时,消耗的资源要远大于一般的属性...不论通过何种技术对视图进行布局,其最终都会落到对 UIView.frame/bounds/center 等属性的调整上。...在 Twitter Demo 中,我为了图省事儿用到了不少 layer 的圆角属性,你可以在低性能的设备(比如 iPad 3)上快速滑动一下这个列表,能感受到虽然列表并没有较大的卡顿,但是整体的平均帧数降了下来...它的原理是,当滑动时,松开手指后,立刻计算出滑动停止时 Cell 的位置,并预先绘制那个位置附近的几个 Cell,而忽略当前滑动中的 Cell。...(- -太吊了)在显示简单的单张图片时,利用 UIView.layer.contents 就足够了,没必要使用 UIImageView 带来额外的资源消耗,为此我在 CALayer 上添加了 setImageWithURL

    1.5K10

    《Motion Design for iOS》(十八)

    实际上,他们还添加了很多东西;他们的UIKit Dynamics 框架是一个整合到了UIKit中的完整的物理引擎,允许你添加地心引力、弹簧附着、动力等到你的界面元素中。...速度参数用来定义物体开始的快慢,当你使用手势用于用户在屏幕上滑动手指持续一个物体的移动的时候会非常有用。 在我们的例子中我们设置阻尼为0.3(有点弹性),因为我们是用物体静止开始的所以速度为0。...就我个人来说,我不认为iOS 7中使用了新block方法的弹簧动画如我所愿地平滑移动,当你想要完善动作时他们也没有提供足够的弹簧属性来操作。...还有,如果你在创建一个地图app并想要使用这些UIKit Dynamics中的弹簧动作将是不幸的。如果你的app还需要支持iOS 7之前的版本怎么办?...你也是不幸的,因为UIKit Dynamics直到iOS 7才出现并且不能用于之前的版本中。 所以还有什么别的方式可以创建自然的动作、类弹簧的动画呢?其他的可选项是什么?

    38630

    iOS 页面渲染 - UIView & CALayer

    , backgroundColor 等等, 这些 model 数据都是在开发中可以设置的, 我们任何对于 view/layer 的修改都能反应在 model tree 中; presentation tree...CALayer种类 我们通常见到的 layer 都是依附于一个 UIView,但是也有一些单独的 layer 不需要附加到 UIView 上,就可以直接在屏幕上显示内容,如 AVCaptureVideoPreviewLayer...当然附加在 UIView 上的 layer 和单独的 layer 在行为上还是会有不同的。...属性改变时 layer 会向 view 请求一个动作,而一般情况下 view 将返回一个 NSNull,只有当属性改变发生在动画 block 中时,view 才会返回实际的动作。...rendserver 交给 GPU 去渲染,将 backing store 中的 bitmap 数据显示在屏幕上。

    1.9K20

    手势的抽象类——UIGestureRecognizer三. UIGestureRecogni

    初始化方法 UIGestureRecognizer类为其子类准备好了一个统一的初始化方法,无论什么样的手势动作,其执行的结果都是一样的:触发一个方法,可以使用下面的方法进行统一的初始化: - (instancetype...,当我们把cancelTouchesInView设置为NO时,在屏幕上滑动,两种方式都在触发,打印如下: ?...3.2 重点方法详解-手势间的互斥处理 同一个View上是可以添加多个手势对象的,默认这些手势是互斥的,一个手势触发了就会默认屏蔽其他相似的手势动作。...滑动手势——UISwipeGestureRecognizer 滑动手势和拖拽手势的不同之处在于滑动手势更快,而拖拽比较慢。...//设置触发滑动手势的触摸点数 @property(nonatomic) NSUInteger numberOfTouchesRequired; //设置滑动方向

    2.6K50

    AsyncDisplayKit 2.0 教程:入门「译」

    认识一个 node 的最佳方法是参照你已经熟悉的 UIViews 和 CALayers 之间的关系。 记住,iOS应用程序中的所有在屏幕上的显示都通过CALayer对象表示的。...事实上,虽然他们定义了一些完全相同的方法,如 -tableNode:numberOfRowsInSection:,但两组协议也不完全相同,因为 ASTableNode 行为和UITableView还以所有不同的...image.png 真是一个流畅的 tableView!一旦你开始做了,那就让我们做的更好吧! 无限滚动 在大多数应用中,服务器的数据点的个数往往会多于当前 tableView 中显示的单元格数量。...Display Range(显示范围):在这里进行显示任务,例如文本绘制和进行图像解码。 Visible Range(可见范围):此时,node 至少有一个像素在屏幕上。...相反,它们会在 Visible Range 上重叠和汇聚。如果将显示和预取都设置为一个屏幕,则它们将完全相同。通常数据需要存在才能显示,所以一般预取范围应该稍大一点。

    2.2K20

    iOS 开发从 UIView 动画说起

    在viewDidAppear:中运行这段代码,你会看到文本框从左侧滑动,按钮也渐变显示出来的,但是跟我们要的结果不太一样 —— 三个动画没有错开,效果并不那么的好看。...我们希望密码框能在账户文本框滑动后的一段时间后再出现,按钮同样也需要晚一些显示。...在上面的代码中,密码输入框在延后0.35秒之后开始从左侧出来,在持续0.5秒的动画之后,开始渐变显示按钮,然后动画完成。...UIView,分别传入这四个不同的参数,然后让这四个view在同一时间y轴上向上移动。...慢动作翻转 在我们切换图片的时候,原有的图片会基于视图中心位置进行x轴上的翻转,为了达到更逼真的效果,系统还为我们在切换中加上了阴影效果(ps: 再次要说明的是,transition的动画你应该只用在视图的切换当中

    1.7K70

    六天完成一个简单iOS App - 第四天

    精华页面的搭建 精华页面中全部界面的显示 日期的处理 热门评论的显示和处理 精华页面的搭建 精华页面分为全部、视频、声音、图片、段子五个界面,五个界面可以通过点击导航栏下面的titleView进行页面的切换...titleView也是添加在主控制器上,显示在scrollView上面,保证titleView永远显示在主控制器的View上,不会随着scrollView的滚动而滚动。...因此考虑使用控制器View的懒加载,当View要显示的时候我们才去加载他,并将View显示在屏幕上。而其他没有显示的控制器View就不去加载他。如图所示 ?...也就是当点击了button或者滑动界面之后,在根据scrollView的偏移量判断需要加载哪个控制器的View,然后将View添加到scrollView中。...同时上拉和下拉出现的问题 当我们下拉刷新的时候,在数据还没有返回刷新成功的时候,又滑动到底部上拉加载了新数据,此时就会造成数据混乱,如果上拉加载更多的数据已经返回,此时下拉刷新的数据也返回了,就只剩下最新的数据了

    1.4K70
    领券