masonry

【iOS】图表实现-AAChartKit

孤者浪人 提交于 2021-02-03 11:04:44
昨天把AAChartKit和Charts整体描述了一下,讲了一下两个三方库的优缺点。今天就注重讲一下AAChartKit的使用。 0.简介 AAChartKit 项目,是 AAInfographics 的 Objective-C 语言版本,是在流行的开源前端图表框架 Highcharts 的基础上,封装的面向对象的,一组简单易用,极其精美的图表绘制控件. 特性: 1. 环境友好,兼容性强. 适配 iOS 6 +, 支持ARC,支持 Objective-C语言,配置简单.同时更有 Swift 版本AAInfographics可供使用. 2. 功能强大,类型多样. 支持柱状图 、条形图 、折线图 、曲线图 、折线填充图 、曲线填充图、雷达图、极地图、扇形图、气泡图、散点图、区域范围图、柱形范围图、面积范围图、面积范围均线图、直方折线图、直方折线填充图、箱线图、瀑布图、热力图、桑基图、金字塔图、漏斗图、等二十几种类型的图形,不可谓之不多. 3. 交互式图形动画. 有着清晰和充满细节的用户交互方式,与此同时,图形渲染动画效果细腻精致,流畅优美.有三十多种以上渲染动画效果可供选择,用户可自由设置渲染图形时的动画时间和动画类型,关于图形渲染动画类型,具体参见 AAChartKit 动画类型. 4. 支持手势缩放.支持图表的手势缩放和拖动阅览,手势缩放类型具体参见 AAChartKit

Kaggle竞赛入门教程案例

时光毁灭记忆、已成空白 提交于 2020-10-23 02:54:00
Kaggle比赛入门新手教程(房价预测案例:前篇) Kaggle房价预测全流程详解 竞赛链接与背景介绍 竞赛代码解析 导入工具包 数据加载 数据预处理 异常值初筛 标签值对数变换 明确变量类型 缺失值处理 特征工程 特征创建:基于已有特征进行组合 对影响房价关键因子进行分箱 数值型变量偏度修正 删除单一值特征 特征简化:0/1二值化处理 特征编码 异常值复查:基于回归模型 消除one-hot特征矩阵的过拟合 Kaggle房价预测全流程详解 对于 刚刚入门 机器学习的童孩来说,如何快速地通过不同实战演练以提高代码能力和流程理解是一个需要关注的问题。 Kaggle平台 正好提供了数据科学家的所需要的交流环境,并且为痴迷于人工智能的狂热的爱好者举办了各种类型的竞赛(如, 数据科学/图像分类/图像识别/自然语言处理/漏洞检测 )。 Kaggle社区是一种全球性的交流社区,集中大量优秀的AI科学家和数据分析家,能够相互分享实战经验和代码,并且有基础入门教程,对新手非常友好~ 竞赛链接与背景介绍 Kaggle平台官网 :https://www.kaggle.com 房价预测竞赛网址 : https://www.kaggle.com/c/house-prices-advanced-regression-techniques 房价 是一个生活中耳熟能详的概念

[ios开发]写计算器遇到的问题与一些记录

人盡茶涼 提交于 2020-10-21 17:22:21
1. 用到的知识点 mvc设计模式 Masonry布局 用到了算法:栈 来进行计算更加方便( c语言简易表达式求值 ) 2.笔记 一、实现表达式求值有两种方法 中缀转后缀 这篇博客讲解比较好 到底什么是后缀表达式 又是怎么转化的 直接用中缀表达式进行计算 二、栈的基本思想 按照基本思想 View里写每个按钮 并且使用Masonry进行布局(应该使用百分比) 通过观察计算器按钮的布局 发现前四排是一样的形状 最后一排0的形状与其他不同 所以通过循环来建立了前四行按钮 然后再单独创建3个按钮即可 在循环创建按钮中,通过不同的i,j来确定不同的setTitle、颜色和tag值 每一个的点击事件对应的都是(click:)传入需要的button 并且通过协议传值将button传向View界面 然后在VC中直接调用传递的方法中的参数button的tag值来确定具体的点击对象 ViewController中 定义两个NSMutableString来存放获取的值, 通过appendString进行不断附加到两个NSMutableString中(为什么是两个?后面会有一个加结束符的操作如果一直用一个 那么这个结束符就保存到数组中直接输出了)同样在viewcontroller中进行获取时的一些判错问题以及最后答案删除多余0的问题 在一系列判断结束后 如果按下‘=

AutoLayout约束的使用

安稳与你 提交于 2020-08-12 23:15:17
GitHub博客地址 GitHub Markdown地址 概述 在iOS 6之前,可以使用UIView的autoresizingMask属性进行自动适配,autoresizingMask是个枚举UIViewAutoresizing 。 typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; 从iOS 6开始,也就是2012年,苹果推出用约束进行自动布局,约束比UIViewAutoresizing灵活强大多了。 Cassowary算法 1997年,一个名叫 Cassowary 的布局算法解决了用户界面的布局问题

项目转Swift指南

爷,独闯天下 提交于 2020-08-11 15:42:51
运行环境:Xcode 11.1 Swift5.0 最近参与的一个项目需要从Objective-C(以下简称OC)转到Swift,期间遇到了一些坑,于是有了这篇总结性的文档。如果你也有将OC项目Swift化的需求,可以作为参考。 OC转Swift有一个大前提就是你要对Swift有一定的了解,熟悉Swift语法,最好是完整看过一遍官方的 Language Guide 。 转换的过程分自动化和手动转译,鉴于自动化工具的识别率不能让人满意,大部分情况都是需要手动转换的。 自动化工具 有一个比较好的自动化工具 Swiftify ,可以将OC文件甚至OC工程整个转成Swift,号称准确率能达到90%。我试用了一些免费版中的功能,但感觉效果并不理想,因为没有使用过付费版,所以也不好评价它就是不好。 Swiftify还有一个Xcode的插件 Swiftify for Xcode ,可以实现对选中代码和单文件的转化。这个插件还挺不错,对纯系统代码转化还算精确,但部分代码还存在一些识别问题,需要手动再修改。 手动Swift化 桥接文件 如果你是在项目中首次使用Swift代码,在添加Swift文件时,Xcode会提示你添加一个 .h 的桥接文件。如果不小心点了不添加还可以手动导入,就是自己手动生成一个 .h 文件,然后在 Build Settings > Swift Compiler - General

block在iOS开发中的用法解析与底层原理

好久不见. 提交于 2020-08-07 21:36:44
1. 前言 Block :带有自动变量(局部变量)的匿名函数。它是C语言的扩充功能。之所以是拓展,是因为C语言不允许存在这样匿名函数。 1.1 匿名函数 匿名函数是指不带函数名称函数。C语言中,函数是怎样的呢?类似这样: int func(int count); 调用的时候: int result = func(10); func就是它的函数名。也可以通过指针调用函数,看起来没用到函数名: int result = (*funcptr)(10); 实际,在赋值给函数指针时,必须通过函数的名称才能获得该函数的地址。完整的步骤应该是: int (*funcptr)(int) = &func; int result = (*funcptr)(10); 而通过Block,就能够使用匿名函数,即不带函数名称的函数。 1.2 带有自动变量 关于“带有自动变量(局部变量)”的含义,这是因为Block拥有捕获外部变量的功能。在Block中访问一个外部的局部变量,Block会持用它的临时状态,自动捕获变量值,外部局部变量的变化不会影响它的的状态。 捕获外部变量,看一个经典block面试题: int val = 10; void (^blk)(void) = ^{ printf("val=%d ",val); }; val = 2; blk(); 上面这段代码,输出值是:val = 10,而不是2。

【笔记】《Bootstrap实战》——第6章 单页营销网站

老子叫甜甜 提交于 2020-04-15 14:14:04
【推荐阅读】微服务还能火多久?>>> 文章目录 一、概况 二、初始文件 三、了解页面内容 四、调整导航条 五、定制高清图 六、美化功能列表 七、装饰用户评论区 1.定位及美化说明 2.调整说明元素的位置 3.添加 Bootstrap 的网格类 4.下载并链接 JavaScript 插件 5.初始化 Masonry 插件 6.切齐图片 7.适应小微屏幕 八、吸引人的价目表 1.准备变量、文件和标记 2.表格头 3.表体和表脚 4.为不同的价目表添加不同的样式 5.适配小视口 6.突出重要的表格 九、最后的调整 1.调整标题 2.为导航条添加 ScrollSpy 3.添加动画 十、小结 本章主要任务如下: 一个大型介绍性传送带图片展示区,配有自定义的响应式欢迎信息; 一个客户留言区,显示为带标题的图片墙,就像砖垒的一样; 一个功能清单,使用大号 Font Awesome 图标; 一个带有自定义价目表的注册区; 一个带动态滚动的 ScrollSpy 导航条。 一、概况 假设客户需求如下: 一个清新,具有现代美的网站; 一条介绍性的欢迎语,打在吸引人的背景图片之上; 一个高效的商品展示区,用醒目的图标来突出; 精致的客户留言板,深具视觉冲击力; 三个能让客户一目了然的价目表,方便选择,快捷注册; 不断沟通!一切都在吸引用户一步一步向下看,让人几乎无法拒绝点击最后的注册按钮。

masonry第三方框架

倖福魔咒の 提交于 2020-04-07 02:01:48
当我们对我们APP界面进行布局的时候,有时候会用到masonry框架 我们把masonry框架的头文件加载到Supporting Files中,在用到的地方引入对应的头文件 在这里我新建一个tabel和imageView为例 1.tabel #pragma mark #pragma mark -设置indeLabel //先创建一个label UILabel *label = [UILabel new]; //进行赋值 _indexLabel=label; //设置字体居中 label.textAlignment=NSTextAlignmentCenter; label.text=@"你好啊"; label.textColor=[UIColor redColor]; //添加到控制器的view中 [self.view addSubview:label]; //为label做约束 [label mas_makeConstraints:^(MASConstraintMaker *make) { make.top.offset(100); make.centerX.equalTo(self.view); }]; 2.在label的基础上添加一个imageView #pragma mark #pragma mark -设置imageView //创建一个imageView

瀑布流(masonry和infinitescroll)、(grid-a-licious)

别来无恙 提交于 2020-03-28 13:40:00
闲来无事,玩玩瀑布流 一、使用masonry和infinitescroll结合(仿花瓣网) masonry 是基于Jquery插件,用于对CSS布局的可移动层进行重新布局。Masonry愿意石工,可以这样形象的理解,页面上很多大小不一的移动层可以想象成散乱的石头,经过Masonry这个石工处理后,变成一堵美观的墙。官网地址: http://masonry.desandro.com    infinitescroll 是基于Infinite Scroll也是基于Jquery插件,用于当滚动条滚动时追加页面内容,有网友称这种效果为”无刷新无分页完美瀑布流”展现方式。官网地址: http://infinite-scroll.com/   在Masonry的Example里有自动的与infinite-scroll结合的实现滚动式分页的例子,地址在这里 http://masonry.desandro.com/demos/infinite-scroll.html 。 首先引入js <script src="js/jquery-1.9.1.js" type="text/javascript"></script> <script src="js/jquery.masonry.min.js" type="text/javascript"></script> <script src="js

瀑布流布局与 jQuery Ajax 分页

不羁的心 提交于 2020-03-28 13:37:57
在 Kayo 的上一篇文章 轻图床的新前端与瀑布流布局 曾经简略介绍过瀑布流布局,所谓的瀑布流效果就正如轻图床 首页 效果那样,多个内容相近的栏目紧密排列,尽量使到栏目间的间隙最小(即流体布局),并且随着页面滚动条向下滚动,新的数据会追加至当前页面的尾部直到所有数据加载完毕(滚动触发的 Ajax 翻页)。本文将会介绍如何实现瀑布流布局中的 Ajax 翻页,至于如何实现栏目间的紧密排列,本文将会简略介绍但不在重要的讨论范围。 一.实现原理 实现瀑布流布局主要分为两个部分,一是实现流体布局,这里我们采用绝对定位的方式实现,而是滚动触发的 Ajax 分页,这里采用 jQuery 的 Ajax 实现。 第一部分将会采用 Masonry jQuery plugin 。Masonry jQuery plugin 是一款实现流体布局的 jQuery 插件,下文将以轻图床的首页 HTML 为例,给出一个 Masonry 流体布局的实例。第二部分使用 jQuery 的 scroll() 事件触发 Ajax ,触发后使用 jQuery 的 ajax() 方法异步加载新内容,下文将给出完整实例。 二.Masonry 实现的流体布局 假设网站中的 HTML 如下 <div id="content"> <!-- 包含所有图片的容器 --> <div id="thumbs"> <!-- 各个图片的容器 -->