10 2016 档案

摘要:因为工作需要,简单研究了一下Android6.0权限申请,在Google提供的sample的基础上,写了一个简单的demo。算是自己的笔记吧,可能会比较混乱,主要是方便以后查看。后期有别的问题,随时更新~ 本demo github下载地址!!! Google提供的demo的下载地址 6.0权限的基本 阅读全文
posted @ 2016-10-31 09:33 brave-sailor 阅读(18995) 评论(0) 推荐(0) 编辑
摘要:运行时权限介绍 Android 6.0在我们原有的AndroidManifest.xml声明权限的基础上, 又新增了运行时权限动态检测,以下权限都需要在运行时判断: 运行时权限处理 Android6.0系统默认为targetSdkVersion小于23的应用默认授予了所申请的所有权限, 所以如果你以 阅读全文
posted @ 2016-10-31 09:26 brave-sailor 阅读(291) 评论(0) 推荐(0) 编辑
摘要:本文目录 前言 1、NSData 的创建 2、数据的长度 3、数据的获取 4、NSData 的比较 5、NSData 的存储 6、NSData 与 字符串 的相互转换 7、NSData 与 Base64编码字符串 的相互转换 本文目录 前言 1、NSData 的创建 2、数据的长度 3、数据的获取 阅读全文
posted @ 2016-10-29 14:30 brave-sailor 阅读(1858) 评论(0) 推荐(0) 编辑
摘要:本系列第三篇,String相关的类型转换。其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一):常用属性 Swift2.0 中的String(二):基本操作 Swift2.0 中的String 阅读全文
posted @ 2016-10-29 14:29 brave-sailor 阅读(1191) 评论(0) 推荐(0) 编辑
摘要:Swift中的字符串,第二篇,基本操作。其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一):常用属性 Swift2.0 中的String(二):基本操作 Swift2.0 中的String( 阅读全文
posted @ 2016-10-29 14:28 brave-sailor 阅读(266) 评论(0) 推荐(0) 编辑
摘要:字符串算是平常用的比较多、花样也比较多的一个类型,昨天有空把相关的一些常用操作都写了一遍,总结出来。其实iOS里面的字符串更复杂,还有NSString系列等等,那些API太多将来需要用的时候再慢慢学。这个系列目前写了三篇,这篇是第一部分,String的一些常用属性。其他的几篇传送门(GitHub打不 阅读全文
posted @ 2016-10-29 14:27 brave-sailor 阅读(212) 评论(0) 推荐(0) 编辑
摘要:我们在C++里处理字符通常是这样的 这在号称吸收C/C++所有优势特性的Swift里面是行不通的,因为 Character 和 Int 不能进行计算操作,会报错 于是乎教科书里没有说的内容就带来了问题 网上也没有 但是教科书里说到一个例子中有String.unicodeScalars可以返回字符串的 阅读全文
posted @ 2016-10-29 13:56 brave-sailor 阅读(1439) 评论(0) 推荐(0) 编辑
摘要:NSData全部API学习。 学习NSData,在网上找资料竟然都是拷贝的纯代码,没人去解释。在这种网上没资料的情况下,整理这个API文件好难,好艰辛。在这贡献给大家了,么么哒~示例程序用红色标注。 /**************** Base 64 Options****************/ 阅读全文
posted @ 2016-10-29 11:53 brave-sailor 阅读(518) 评论(0) 推荐(0) 编辑
摘要:摘要: 在storyboard中,想要用autolayout设置多个按钮按照相同的间距排列,并且自动根据屏幕宽度调整间距大小,就我了解的来说,没有直接的设置方法。我用storyboard+代码的方法实现了这个目标 首先,来看一下做成后的效果: 实现步骤如下: 1、在storyboard中放置四个按钮 阅读全文
posted @ 2016-10-28 10:09 brave-sailor 阅读(292) 评论(0) 推荐(0) 编辑
摘要:写作目的 UICollectionView是ios中一个十分强大的控件,利用它能够十分简单的实现一些很好看的效果。UICollectionView的效果又依赖于UICollectionViewLayout或者它的子类UICollectionViewFlowLayout。而关于自定义UICollect 阅读全文
posted @ 2016-10-27 16:26 brave-sailor 阅读(1801) 评论(0) 推荐(0) 编辑
摘要:在Android App中,我们经常看到圆形头像图片,然后网上也有很多开源的控件。刚好这个项目用到了,也去找了一些开源的,发现并不完美,所以只好自己优化了,废话不多说,先上效果图: 下面是源码:本人能理解的地方都加上注释了,大牛勿喷。 [java] view plain copy package c 阅读全文
posted @ 2016-10-25 13:51 brave-sailor 阅读(431) 评论(0) 推荐(0) 编辑
摘要:近期上传应用,遇到了“此构建版本无效“的问题,如图 网查了一下,解决了这个问题:(注意:先不要急着怀疑是网络问题,重新提交,先检查问题,别问我怎么知道的。。。) 1:iOS10 之后,苹果加强了用户的隐私保护,在用到本地权限配置的地方,需要添加相应的权限和描述(注意,如果你提交的应用里面只添加了权限 阅读全文
posted @ 2016-10-24 14:20 brave-sailor 阅读(938) 评论(0) 推荐(0) 编辑
摘要:1、ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not sup 阅读全文
posted @ 2016-10-24 14:19 brave-sailor 阅读(808) 评论(0) 推荐(0) 编辑
摘要:之前项目需求要实现一个闹钟,github上找了半天发现都是很旧的代码了,所以就准备自己写一个,刚好最近在学习Swift,就用Swift写了一个demo放在这里:https://github.com/Phelthas/Demo_AlarmClock 效果如图: 总结一下,备忘 界面的话一个DatePi 阅读全文
posted @ 2016-10-17 14:28 brave-sailor 阅读(859) 评论(0) 推荐(0) 编辑
摘要:当你的应用在后台运行时,可以简单地使用本地通知把信息呈现给用户。它可以允许你显示 提醒、播放提示音和数字角标(badge)。本地通知可以被以下的事件触发:计划好的时间点或者用户进入和离开某个地理区域。在本教程中,我们会构建一个简单的待办列表应用(to-do list app),并探索一下 UILoc 阅读全文
posted @ 2016-10-17 14:27 brave-sailor 阅读(719) 评论(0) 推荐(0) 编辑
摘要:在上集中,我们已经构建了一个简单的待办列表应用(to-do list app),这个应用可以在待办项过期时通过本地通知提醒用户。现在,我们要在之前的基础上添加以下功能:应用图标角标上显示过期待办项的数量、通知动作的支持和在不开启应用的情况下编辑和完成待办项。 你可以在这里下载上一集的源代码。 为应用 阅读全文
posted @ 2016-10-17 14:27 brave-sailor 阅读(695) 评论(0) 推荐(0) 编辑
摘要:使用UILocalNotification可以很方便的实现消息的推送功能。我们可以设置这个消息的推送时间,推送内容等。 当推送时间一到,不管用户在桌面还是其他应用中,屏幕上方会都显示出推送消息。 1,推送消息的发送 AppDelegate.swift import UIKit @UIApplicat 阅读全文
posted @ 2016-10-17 14:25 brave-sailor 阅读(704) 评论(0) 推荐(0) 编辑
摘要:Notification是智能手机应用开发中常用的信息传递机制,它不用消耗更多资源去不停的检查信息状态,可以非常好的节省资源。 在iOS中分为两种通知:本地、远程。本地的UILocalNotification由全局的NotificationManager统一管理,我们只需要将本地通知对象添加到系统的 阅读全文
posted @ 2016-10-17 14:24 brave-sailor 阅读(326) 评论(0) 推荐(0) 编辑
摘要:// // MyView.swift // TestUIBezierPath // // Created by iCodeWoods on 16/5/8. // Copyright © 2016年 iCodeWoods. All rights reserved. // import Foundation import UIKit class MyView: UIView { ... 阅读全文
posted @ 2016-10-14 14:35 brave-sailor 阅读(421) 评论(0) 推荐(0) 编辑
摘要:import UIKit import XCPlayground //创建view let myView = UIView(frame:CGRectMake(0, 0, 300, 200)) //实时显示TimeLine XCPlaygroundPage.currentPage.liveView = myView myView.backgroundColor = UIColor.whiteCo... 阅读全文
posted @ 2016-10-14 14:23 brave-sailor 阅读(156) 评论(0) 推荐(0) 编辑
摘要:demo.gif demo.gif 如图,这个动画的是如何做的呢? 分析: 1.环形进度指示器,根据下载进度来更新它 2.扩展环,向内向外扩展这个环,中间扩展的时候,去掉这个遮盖 一.环形进度指示器 1.自定义View继承UIView,命名为CircularLoaderView.swift,此Vie 阅读全文
posted @ 2016-10-14 14:13 brave-sailor 阅读(1768) 评论(0) 推荐(0) 编辑
摘要:1.绘制的饼状图是通过多个扇形拼和而成,绘制一个扇形也是比较简单的,核心代码如下: 先画一条圆弧,再画半径,接着再画一条圆弧,最后闭合路径; [objc] view plain copy UIBezierPath* aPath = [[UIBezierPath alloc] init]; [aPat 阅读全文
posted @ 2016-10-14 14:09 brave-sailor 阅读(953) 评论(0) 推荐(0) 编辑
摘要:使用UIBezierPath可以创建基于矢量的路径。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。主要用到的该类的属性包括 画直线 画圆弧(兼职画圆) 除了直接初始化一个圆弧,也可以增加一段圆弧路径(mainPath1.addCurveToPoint:) 初始化时画圆 阅读全文
posted @ 2016-10-14 14:08 brave-sailor 阅读(557) 评论(0) 推荐(0) 编辑
摘要:github 下载Charts-master SDK,该SDK有多种可自定义的图表样式 lineChart 正弦余弦线图 正弦余弦线图 LineChart (cubic lines) LineChart (gradient fill) Combined-Chart (bar- and linecha 阅读全文
posted @ 2016-10-14 12:01 brave-sailor 阅读(1861) 评论(0) 推荐(0) 编辑
摘要:动画预览 先扯淡 最近手痒又想整点动画玩玩,但是想了几个主意发现稍微复杂一点的手写都一定会累爆。这篇文章记录一下今天折腾的一个方案。说来简单,就是用矢量设计工具舒舒服服的做好设计,然后输出成 svg 格式,再用 NSXMLParser 去读出来,转换成 UIBezierPath ,然后就天高任鸟飞~ 阅读全文
posted @ 2016-10-14 11:47 brave-sailor 阅读(899) 评论(0) 推荐(0) 编辑
摘要:最好的特点就是可以自定义路径,设置圆角和描边都很方便,以下为代码和效果,均在playground中实现 1、首先实现一个圆角矩形,并对此路径描边,为其绘制一个轮廓。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 //: Playgroun 阅读全文
posted @ 2016-10-14 09:36 brave-sailor 阅读(617) 评论(0) 推荐(0) 编辑
摘要:CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。 杂谈 在 CAShapeLayer 中,也可以像 CALayer 一样指定它的 frame 来画,就像这样: 然后你就会得到如图这样的黑色矩形 但是,CAS 阅读全文
posted @ 2016-10-14 09:33 brave-sailor 阅读(324) 评论(0) 推荐(0) 编辑
摘要:一.去重: 1>颜色: UIColor.whiteColor() 被改为 UIColor.white() 2>数组取值: list.objectAtIndex(i) 被改为 list.object(at: i) 3>present: presentViewController(controller, 阅读全文
posted @ 2016-10-11 16:44 brave-sailor 阅读(2583) 评论(0) 推荐(1) 编辑
摘要:swift 3.0 字符串的介绍 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" 使用 String 的原因 String 是一个结构体,性能更高 NSString 是一个 OC 对象,性能略差 阅读全文
posted @ 2016-10-11 16:34 brave-sailor 阅读(261) 评论(0) 推荐(0) 编辑
摘要:extension UIView { func colorOfPoint (point: CGPoint) -> UIColor { var pixel = UnsafePointer<CUnsignedChar>.alloc(4) let colorSpace = CGColorSpaceCrea 阅读全文
posted @ 2016-10-11 16:19 brave-sailor 阅读(920) 评论(0) 推荐(0) 编辑
摘要:#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageV; @end @implementation ViewController 阅读全文
posted @ 2016-10-11 15:30 brave-sailor 阅读(141) 评论(0) 推荐(0) 编辑
摘要:摘要: CGAffineTransformMakeTranslation和CGAffineTransformTranslate的区别 1.CGAffineTransformMakeTranslation每次都是以最初位置的中心点为起始参照 CGAffineTransformTranslate每次都是 阅读全文
posted @ 2016-10-11 15:29 brave-sailor 阅读(416) 评论(0) 推荐(0) 编辑
摘要:WechatIMG2.png WechatIMG2.png 项目已接入高德地图,并且大部分功能已经实现好,但BOSS觉得iOS自带的地图效果更好。。。本着面向老板编程的思想,换之。还好,高德地图是在MapKit上封装的,大部分api只要将前缀MA->MK即可,但有一个问题麻烦了,就是处理轨迹的渐变, 阅读全文
posted @ 2016-10-11 14:47 brave-sailor 阅读(2832) 评论(0) 推荐(0) 编辑
摘要:什么是Bitmap? Bitmap叫做位图,每一个像素点由1-32bit组成。每个像素点包括多个颜色组件和一个Alpha组件(例如:RGBA)。 iOS中指出如下格式的图片 JPEG, GIF, PNG, TIF, ICO, GMP, XBM,和 CUR。其他格式的图片要给Quartz2D传入图片的 阅读全文
posted @ 2016-10-11 13:50 brave-sailor 阅读(744) 评论(0) 推荐(0) 编辑
摘要:前言:这个系列写道这里已经是第五篇了,本文会介绍下阴影和渐变的基础知识,以及一些基本的Demo Code展示,应该还会有两篇,介绍下Bitmap绘制以及Pattern等知识。 Shadow shadow(阴影)的目的是为了使UI更具有立体感,如图 shadow主要有三个影响因素 x off-set 阅读全文
posted @ 2016-10-11 13:45 brave-sailor 阅读(1219) 评论(0) 推荐(0) 编辑
摘要:前言:Quartz默认采用设备无关的user space来进行绘图,当context(画板)建立之后,默认的坐标系原点以及方向也就确认了,可以通过CTM(current transformation matrix)来修坐标系的原点。从数组图像处理的角度来说,就是对当前context state乘以一 阅读全文
posted @ 2016-10-11 13:42 brave-sailor 阅读(776) 评论(0) 推荐(0) 编辑
摘要:Stroke-描边 影响描边的因素 线的宽度-CGContextSetLineWidth 交叉线的处理方式-CGContextSetLineJoin 线顶端的处理方式-CGContextSetLineCap 进一步限制交叉线的处理方式 -CGContextSetMiterLimit 是否要虚线-Li 阅读全文
posted @ 2016-10-11 13:40 brave-sailor 阅读(489) 评论(0) 推荐(0) 编辑
摘要:前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用。例如:point,line,Arc(圆弧),Curves(曲线),Ellipse(椭圆),矩形(Rectangle). 对这些path可以进行stroke(描边),也可以进行f 阅读全文
posted @ 2016-10-11 12:30 brave-sailor 阅读(511) 评论(0) 推荐(0) 编辑
摘要:前言:最近在研究自定义控件,由于想要彻底的定制控件的视图还是要继承UIView,虽然对CALayer及其子类很熟练,但是对Quartz 2D这个强大的框架仍然概念模棱两可。于是,决定学习下,暂定7篇文章讲解,会写一些Demo。 官方文档 本文的代码Demo在最后一部分 Quartz 2D用来干嘛的? 阅读全文
posted @ 2016-10-11 11:57 brave-sailor 阅读(314) 评论(0) 推荐(0) 编辑
摘要:1.画三角形 运行结果如下 1.1具体实现步骤 1.1.1首先新建一个project,然后自定义一个view 1.2代码 [objc] view plain copy #import "htingShapeView.h" @implementation htingShapeView - (id)in 阅读全文
posted @ 2016-10-11 11:56 brave-sailor 阅读(1823) 评论(0) 推荐(0) 编辑
摘要:0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGContextAddLineToPoint 画直线 4 CGContextAddEllipseInRect 画一 阅读全文
posted @ 2016-10-11 11:52 brave-sailor 阅读(306) 评论(0) 推荐(0) 编辑
摘要:首先了解一下CGContextRef: An opaque type that represents a Quartz 2D drawing environment. Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的vie 阅读全文
posted @ 2016-10-11 11:47 brave-sailor 阅读(204) 评论(0) 推荐(0) 编辑
摘要:汉堡按钮在界面设计中已经是老生常谈了,但是当我在dribbble看到这个漂亮的过渡动画时,我决定试试用代码实现它。 这是 CreativeDash team 的原型图: 你可能已经注意到了,汉堡顶部和底部的线条是来自’X’字符,中间的线条变为外框。我知道这种效果可以用CAShapeLayer创建出来 阅读全文
posted @ 2016-10-11 11:41 brave-sailor 阅读(357) 评论(0) 推荐(0) 编辑
摘要:两个动画效果来了解一下CALayer的两个重要的subClass,CAGradientLayer和CAShapeLayer。 微视录制视频的时候那个进度效果和Spark相机类似,但是个人还是比较喜欢Spark相机的录制的效果。 CAShapeLayer 我们做一个和Spark相机一样的圆形进度,每一 阅读全文
posted @ 2016-10-11 11:30 brave-sailor 阅读(388) 评论(0) 推荐(0) 编辑
摘要:除存储属性外,类、结构体和枚举可以定义计算属性,计算属性不直接存储值,而是提供一个 getter 来获取值,一个可选的 setter 来间接设置其他属性或变量的值。 这个例子定义了 3 个几何形状的结构体: Point封装了一个(x, y)的坐标 Size封装了一个width和height Rect 阅读全文
posted @ 2016-10-11 09:58 brave-sailor 阅读(392) 评论(0) 推荐(0) 编辑
摘要:此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法。 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上The Swift Programming Language开源翻译的中文版,感谢极客学院wiki提供的 阅读全文
posted @ 2016-10-11 09:54 brave-sailor 阅读(435) 评论(0) 推荐(0) 编辑
摘要:此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法。 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上The Swift Programming Language开源翻译的中文版,感谢极客学院wiki提供的 阅读全文
posted @ 2016-10-11 09:52 brave-sailor 阅读(1280) 评论(0) 推荐(0) 编辑
摘要:SWIFT 中 指针被映射为泛型 UnsafePointer<T> UnsafeMutablePointer<T> 表示一组连续数据指针的 UnsafeBufferPointer<T> 表示非完整结构的不透明指针 COpaquePointer 等等 UnsafePointer<T> 通过 memor 阅读全文
posted @ 2016-10-10 18:35 brave-sailor 阅读(262) 评论(0) 推荐(0) 编辑
摘要:下午在适配iPadUI的时候,用到了UIPopoverPresentationController,然后在转屏的时候需要调用UIPopoverPresentationControllerDelegate来返回一个适配后的view和CGRect,这里先看下在OC里的写法: 在OC里面你可以很方便的修改 阅读全文
posted @ 2016-10-10 18:26 brave-sailor 阅读(2833) 评论(0) 推荐(0) 编辑
摘要:extension UIImage{ /** 获取图片中的像素颜色值 - parameter pos: 图片中的位置 - returns: 颜色值 */ func getPixelColor(pos:CGPoint)->(alpha: CGFloat, red: CGFloat, green: CG 阅读全文
posted @ 2016-10-10 17:45 brave-sailor 阅读(1837) 评论(0) 推荐(0) 编辑
摘要:swift版本:3.0 Xcode版本:8.0 iOS版本:10.0 自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能。 注:这个是一种convenience方法,即快速实现。所以并 阅读全文
posted @ 2016-10-10 09:11 brave-sailor 阅读(1169) 评论(0) 推荐(0) 编辑
摘要://swift3.0在语法上有很大的改变,以简单的增删改查为例,如下: //User类如下: import Foundation import CoreData extension User { @nonobjc public class func fetchRequest() -> NSFetch 阅读全文
posted @ 2016-10-09 18:26 brave-sailor 阅读(2017) 评论(0) 推荐(0) 编辑
摘要:swift3.0 有很大变化,其中之一就是NSNotification使用跟原来不一样,以前NSNotification name是String;3.0中定义了一个类型NSNotification.name; 使用时最好定义一个NSNotification.name 常量方便使用; 直接上代码: [objc] view plain copy 在CODE上查看代码片派生到我的代码片 ... 阅读全文
posted @ 2016-10-09 15:33 brave-sailor 阅读(3345) 评论(0) 推荐(0) 编辑
摘要:前言 : Swift3.0的Swift的第3个主要版本,目标是安全,快速和有表现力,也是第一个有开源社区参与开发的Swift版本。由于语法和API改动比较多,Xcode 8.0 Beta提供了migrate迁移工具。这样自有的代码升级Swift3.0就比较方便了,但是,关键是要等第三方开源库升级到S 阅读全文
posted @ 2016-10-09 14:55 brave-sailor 阅读(3762) 评论(1) 推荐(0) 编辑
摘要:写在前面 收到一些小伙伴的来信,觉得可能下边没有表达清楚,先把大家关心的要点在此进行总结,有兴趣的可以看看下边的研究过程,没兴趣的直接看这段即可。 Xcode8支持Swift2.3和Swift3.0两种语编译,但是在整个工程中只能使用一种语法。 如果想用Swift2.3版本开发,当弹出是否迁移到Sw 阅读全文
posted @ 2016-10-09 14:15 brave-sailor 阅读(714) 评论(0) 推荐(0) 编辑
摘要:写在前面 首先和大家分享一下学习新语法的技巧:用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax… 让Xcode帮我们把Swift2.3的代码转换为Swift3.0。 手动调出Xcode自动转换Swift2.3 到 Swi 阅读全文
posted @ 2016-10-09 14:14 brave-sailor 阅读(1840) 评论(0) 推荐(0) 编辑
摘要:import Foundation /// final的含义保持不变 public final class FinalClass { } // 这个类在ModuleA的范围外是不能被继承的,只能被访问 public class PublicClass { public func testPublic 阅读全文
posted @ 2016-10-09 14:13 brave-sailor 阅读(925) 评论(0) 推荐(0) 编辑
摘要:Swift3.0将会给我们带来哪些改变: ABI是什么呢?API大家都知道是应用程序接口 API只是提供函数签名 而ABI是系统和语言层面的 如果ABI稳定 意味着以后Swift版本更新升级 我们不需要再修改老版本 Swift 语言编译的库了如果你曾经从Swift 1.x 升级到 Swift 2.x 阅读全文
posted @ 2016-10-09 14:13 brave-sailor 阅读(409) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示