
swift学习历程
EIamor
这个作者很懒,什么都没留下…
展开
-
Swift3 实现图片圆角、阴影、边框
一、IB实现图片圆角打开 . Main.storyboard 选择要设置圆角的 ImageView 在右侧的身份设置检查器中选择 User Defined Runtime Attributes 中添加如图所示代码其中CornerRadius表示的是圆角的半径 Type表示圆角半径的值的类型 Value表示的是圆角半径值的大小二、代码实现sel原创 2017-05-07 01:07:58 · 4074 阅读 · 0 评论 -
swift 初用地图
在IOS中地图应用开发主要使用 MapKit APi 其核心类是 MKMapView 类最终结果在使用这个类之前必须在项目中打开地图访问权限步骤:打开项目 选择 TARGETS 选择Capabilities选项卡 找到Maps 在开关处打开打开之后就会发现做左侧的项目导航栏中多了一个Frameworks(框架) 其中有有关MapKit的框架首原创 2017-05-08 20:06:55 · 778 阅读 · 0 评论 -
Swift3 UIImage、Data、PNG图片之间的转换
PNG图片转UIImagelet image = UIImage(named :"PNG图片名.png")UIImage转Datalet data = UIImagePNGRepresentation( image )Data转UIImagelet image = UIImage(data : data)转载 2017-05-17 19:31:15 · 12669 阅读 · 0 评论 -
swift3 tableView刷新数据
在UITableViewController中存在一个刷新控件refreshController,利用这个刷新控件可以实现对tableView数据的刷新。 1、实例化一个refreshController 实例化一个refreshController调用的是init()这个构造函数,因为在使用这个构造函数的时候会默认生成默认的一个frame。 2、将refreshContr原创 2017-05-22 19:40:15 · 5233 阅读 · 0 评论 -
swift3 保存json到桌面,从沙盒中读取json
let data = try? JSONSerialization.data(withJSONObject: array, options: .prettyPrinted) (data as NSData).write(toFile: "/Users/mac/Desktop/demo.json", atomically: true)从沙盒中读取json文件// 0. 获取沙盒 jso原创 2017-05-22 20:48:03 · 1946 阅读 · 0 评论 -
swift3 访问相册和摄像头
第一步:需要在项目中的Info.plist中添加相应的键 访问相册:Privacy - Photo Library Usage Description 访问摄像头:Privacy - Camera Usage Description 它们对应的值可以随意填写,但是其值是显示给用户的信息 第二步:请求访问 这个例子中一整个图片添加是一个Button点击原创 2017-05-10 11:07:11 · 2186 阅读 · 0 评论 -
Swift storyBoard 判断 segue 目标
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "ModalToPassCode"{ let destVC = segue.destination as! PassCodeViewController de原创 2017-06-13 11:21:59 · 1007 阅读 · 0 评论 -
swift3 实现键盘弹出视图上移
第一步:在你要实现这个功能的视图控制器中的viewDidload()中添加一个要监听的通知(这里为键盘上弹通知)func addObserver(_ observer: Any, selector aSelector: Selector, name aName: NSNotification.Name?, object anObject: Any?)在这个方法中添加通知Notificati原创 2017-05-10 10:42:59 · 4627 阅读 · 1 评论 -
swift 根据文字自动计算Label大小
//方法func textSize(text : String , font : UIFont , maxSize : CGSize) -> CGSize{ return text.boundingRect(with: maxSize, options: [.usesLineFragmentOrigin], attributes: [NSFontAttributeName : f原创 2017-05-04 14:02:56 · 8233 阅读 · 0 评论 -
Swift UIGestureRecognizer介绍
UIGestureRecognizer UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能等到具体手势 UITapGestureRecognizer 敲击UIPinchGestureRecognizer 捏合,用于缩放UIPanGestureRecognizer 拖拽UISwipeGestureRecognizer 轻扫UIRot原创 2017-10-20 11:17:22 · 6154 阅读 · 0 评论 -
swift 显示3D地图
在ios中设置3D地图需要添加一个“摄影机” ,“摄影机”是摄影机类 MKMapCamera 为了支持3D地图 MKMapView中添加了camera属性 , 该属性是MKMapCamera类型“摄像机”有如下5个重要属性centerCoordinate。设置地图的中心坐标distance。从摄像机到中心坐标的距离pitch。摄像机的俯视角,0º为垂直与地图 , 90º为原创 2017-05-08 21:07:05 · 766 阅读 · 0 评论 -
swift 转场
IB实现转场一:实现按下一个按钮跳转到另一个视图。(正向转场)第一步:打开 Main.storyboard 选择你需要点击的按钮 ,右键拖动按钮,会产生一条线 , 将这条线拖到你需要跳转到的视图 , 松开右键 ,在弹出的选项框中选择你需要跳转的方式(以present Modally 模态视图为例) , 这时运行项目,点击按钮就具有跳转到指定视图的功能.由于跳转方式选择的原创 2017-05-07 14:05:43 · 1034 阅读 · 0 评论 -
Swift3 QQ联系人列表
最终效果:第一步:搭建一个基础的界面首先在main.storyboard中拖拽一个tableViewController,并且身份设置检查器中的Class设置为已经继承UITableViewController的ViewController分析plist文件中的内容,并且根据内容创建模型创建一个Friend类、一个FriendGroup类,并且让它们都继原创 2017-05-03 19:08:55 · 1034 阅读 · 0 评论 -
layoutSubviews在什么情况下调用
1.在以下情况都会调用1.直接调用[self setNeedsLayout];(这个在上面苹果官方文档里有说明)2.addSubview的时候。3.当view的size发生改变的时候。4.滑动UIScrollView的时候。5.旋转Screen会触发父UIView上的layoutSubviews事件。注意:当view的size的值为0的时候,addSubview也不会调用layou转载 2017-05-03 14:41:05 · 1039 阅读 · 0 评论 -
[Swift]WKWebView用法介绍
WKWebView的优势:1)WKWebview在性能、稳定性上和UIwebview相比2)WKWebView更多的支持HTML5的特性3)WKWebView更快,占用内存可能只有UIWebView的1/3 ~ 1/44)WKWebView高达60fps的滚动刷新率和丰富的内置手势(Built-in gestures)5)WKWebView具有Safari相同的Java转载 2017-04-24 20:10:57 · 3110 阅读 · 0 评论 -
UINavigationItem和UItabBarItem的区别详解
一、UINavigationItem1> 获得方式self.navigationItem // self是指控制器 2> 作用可以用来设置当前控制器顶部导航栏的内容// 设置导航栏中间的内容self.navigationItem.titleself.navigationItem.titleView 二、UIBarBut转载 2017-04-23 10:55:18 · 561 阅读 · 0 评论 -
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
标题 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 选择自 fmddlmyy 的 Blog关键字 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一:使用Windows记转载 2017-03-22 19:33:50 · 384 阅读 · 0 评论 -
Swift中自定义一个代理的一般流程
上图是委托设计模式的原理图。是一个通用类需要将自身“职责”的一部分交给其他类去做,而这一部分需要完成的“职责”则封装在委托协议里面,每一个成为委托对象的类,都必须实现委托协议里面的“职责”。一般流程首先要先写一个协议(以QQ联系人表头视图为例),在这个协议必须实现的方法headerViewDidOnClick中必须要传入一个自定义 UITableViewHeaderF原创 2017-05-04 12:51:52 · 3178 阅读 · 0 评论 -
Swift3 通知的一般使用流程
通知机制与委托机制不同,前者是“一对多”的对象之间的通信,后者是“一对一”的对象之间的通信。以QQ联系人列表表头的点击事件为例,要在用户点击表头视图触发表头视图的点击事件后发生TableVIew数据刷新第一步:定一个通知名称的全局变量let reloadGroupNotificationName = NSNotification.Name(rawValue: "reloadGr原创 2017-05-04 13:37:47 · 1750 阅读 · 0 评论 -
自定义的UITableViewHeaderFooterView的注意要点
一、在使用代码编写UITableViewHeaderFooterView的时候,要知道在视图初始化的方法 init 中初始化是并不会为视图设置Frame,设置Frame是在tableVIew被初始化的时候进行的二、由于初始化的时候并不会给视图设置Frame,所以在有子视图的情况下,无法在初始化的时候给子视图设置相对于UITableViewHeaderFooterView视图的大小,因此需要在原创 2017-05-03 21:01:47 · 7107 阅读 · 0 评论 -
swift3 去除空白行分割线 更改分割线颜色
去除空白行分割线telf.tableView.tableFooterView = UIView(frame: CGRect.zero)更改前 更改后更改分割线颜色self.tableView.separatorColor = UIColor(white: 0.9, alpha: 1)更改前 更改后去除分割线self.tableView.sep原创 2017-05-06 00:03:00 · 775 阅读 · 0 评论 -
Swift UIMenuController的简单运用和简单自定义
认识系统 UIMenuController * 创建系统 UIMenuController// 要让添加 menu 的目标控件成为第一响应者,否则某些功能会错乱,例如 label 未成为第一响应者但是 label 的 menu 有 paste 功能会直接 paste 到第一响应者上 label.becomeFirstResponder() // 由于系统只允许一个原创 2017-10-14 17:51:35 · 3005 阅读 · 0 评论