02 2017 档案
摘要:IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池、时间等部分; 背景部分:就是显示黑色或者图片的背景部分; 如下图:前景部分为白色,背景部分为黑色 背景部
阅读全文
摘要:随便打开手机上的主流APP,我们不难发现它们的状态栏都是跟导航栏保持一致的背景颜色,如下图的微信和instagram: WECHAT.PNG INS.PNG 那么今天我们就来说一下StatusBar这个只有区区20像素高度的小东西。 UIStatusBarStyle 状态栏有两种显示风格:1.UIS
阅读全文
摘要:状态栏的高度 20 Navigation的高度 44 加起来一共是64
阅读全文
摘要:一、键盘 1、UIKeyboardWillShowNotification-将要弹出键盘 2、UIKeyboardDidShowNotification-显示键盘 3、UIKeyboardWillHideNotification-将要隐藏键盘 4、UIKeyboardDidHideNotificat
阅读全文
摘要:这几天做App的时候,需要添加旋转屏通知以便调整UI布局 刚开始我使用的是UIDeviceOrientationDidChangeNotification, 一直有一些问题就是,如果使用这个通知,当iPhone/iPad旋转的时候,你会得到的旋转方向会是所有的 [cpp] view plain co
阅读全文
摘要:上一篇讲到的本地推送是普通的消息推送,本篇要讲一下带按钮动作的推送消息,先上个图瞅瞅: 继上一篇的内容进行小小的改动: 在didFinishLaunchingWithOptions方法内进行以下修改 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
阅读全文
摘要:本地推送通知是通过实例化UILocalNotification实现的。要实现本地化推送可以在AppDelegate.swift中添加代码实现,本事例是一个当App进入后台时推送一条消息给用户。 1.首先在didFinishLaunchingWithOptions方法内添加代码,IOS8推送消息首先要
阅读全文
摘要:使用UILocalNotification可以很方便的实现消息的推送功能。我们可以设置这个消息的推送时间,推送内容等。 当推送时间一到,不管用户在桌面还是其他应用中,屏幕上方会都显示出推送消息。 1,推送消息的发送 AppDelegate.swift import UIKit @UIApplicat
阅读全文
摘要:昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective-C写法不同而已,这点还是要花点时间来习惯就好了,下面来看Swift的UILabel的相关属性与写法吧
阅读全文
摘要:Swift 中添加的UIView都是有层级的。 我们先添加三个看一看 [objc] view plain copy let view1=UIView(frame: CGRectMake(10, 50, 200, 200)) let view2=UIView(frame: CGRectMake(60,
阅读全文
摘要:import UIKit class ViewController: UIViewController { var diamonds:UIView! var diamondsXY = CGRectMake(0,200,50,50) override func viewDidLoad() { supe
阅读全文
摘要:HashMap在我们的工作中应用的非常广泛,在工作面试中也经常会被问到,对于这样一个重要的集合模型我们有必要弄清楚它的使用方法和它底层的实现原理。HashMap是通过key-value键值对的方式来存储数据的,通过put、get方法实现键值对的快速存取,这是HashMap最基本的用法。HashMap
阅读全文
摘要:LinkedList底层是通过双向循环链表来实现的,其结构如下图所示: 链表的组成元素我们称之为节点,节点由三部分组成:前一个节点的引用地址、数据、后一个节点的引用地址。LinkedList的Head节点不包含数据,每一个节点对应一个Entry对象。下面我们通过源码来分析LinkedList的实现原
阅读全文
摘要:ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。 ArrayList不是同步的(也就是说不是线程安全的),如果多个线程同时访问一个Arr
阅读全文
摘要:可能大家都知道,java中的ArrayList类,是一个泛型集合类,可以存储指定类型的数据集合,也知道可以使用get(index)方法通过索引来获取数据,或者使用for each 遍历输出集合中的内容,但是大家可能对其中的具体的方法是怎么实现的不大了解,本篇就将从jdk源码的角度看看什么是动态扩容数
阅读全文
摘要:一直想弄明白runtime是怎么回事,因为面试的时候这是一道必备问题,但是平时用的机会真的少之又少,我一度以为runtime只是用来装13的利器,没什么卵用。但是随着学习的增多,发现runtime真的很有用,但也没那么神秘。我相信看了我这篇博客,您对runtime肯定会有自己的理解。 先说说OC与C
阅读全文
摘要:注册Github账号有半年多的时间,却一直不知道如何将自己做好的项目部署到Github中。看了网上许多的教程,要么一开始就来Git命令行,要么直接就来一堆术语,很少能够真正说中要点,解决我们的烦恼。 而我一开始也正是因为在网上苦寻方法和教程无果,最后失去了热情和耐心,放弃了深入Github,导致失去
阅读全文
摘要:Notification是智能手机应用开发中常用的信息传递机制,它不用消耗更多资源去不停的检查信息状态,可以非常好的节省资源。 在iOS中分为两种通知:本地、远程。本地的UILocalNotification由全局的NotificationManager统一管理,我们只需要将本地通知对象添加到系统的
阅读全文
摘要:无图说卵,先上图 jianshu-top.gif 查阅资料后,发现网上大部分都是用这种方法实现的: 多写一个和需要悬浮的部分一模一样的layout,先把浮动区域的可见性设置为gone。当浮动区域滑动到顶部的时候,就把浮动区域B的可见性设置为VISIBLE。这样看起来就像悬浮在顶部不动了。 具体看下边
阅读全文
摘要:你可以完全自己手动写一个侧滑菜单,但是现在在 GitHub 上面已经有很多免费的开源库了,如果不是有很特别的需求,大可不必新建一个轮子。 在这里我使用的这个第三方库名字叫做 SWRevealViewController,作者是 John Lluch。这个免费的类库提供了很方便快捷的方法去把侧滑菜单加
阅读全文
摘要:包括以下几类: //继承自NSObject:(暂列为控件) UIColor *_color; //颜色 UIImage *_image; //图像 //继承自UIView:只能相应手势UIGestureRecognizer事件,如果本身不响应会将事件action向superview传递 UILabe
阅读全文
摘要:class IWStatus: Reflect { var source: NSString! var created_at: NSString! var idstr: NSString! var user: IWUser var retweeted_status: Retweeted_Status
阅读全文
摘要:1.plist 存储 1.利用沙盒根目录拼接“Documents”字符串 //存储 func saveArray() { // 1.获得沙盒根路径,不管是真机还是模拟机,用它是最合适不过了 let home:NSString =NSHomeDirectory() print(home) // 2.d
阅读全文
摘要:iOS开发网络篇—NSURLConnection基本使用 一、NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法、请求头、请求体.... (3)NSMutableURLReque
阅读全文
摘要:1. 导入Reflect(字典转模型)框架 2. 让它继承Reflect这个类,如下代码所示: class IWUser: Reflect { /** * 用户的ID */ var idstr:NSString! /** * 用户的昵称 */ var name:NSString! /** * 用户的
阅读全文
摘要:iOS开发网络篇—数据安全 一、简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。 如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据 “青花瓷”软件 因此:提交用户的隐私数据时,一定不要明文提交,
阅读全文
摘要:iOS开发网络篇—HTTP协议 一、URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) 通过1个URL,能找到互联网上唯一的1个资源 URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL 2.URL中常见的协议 (1)HTTP 超文本
阅读全文
摘要:一、简单说明 apache-tomcat-6.0.41.tar eclipse-jee-kepler-SR2-macosx-cocoa-x86_64.tar.gz jdk-8u5-macosx-x64.dmg 二、安装和配置本地服务器环境(Java)步骤: (1)在文档路径下,新建一个文件夹(Net
阅读全文
摘要:一、为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图 (2)只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力 (3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死
阅读全文
摘要:一 说明 本文涉及代码可以从https://github.com/HanGangAndHanMeimei/Code地址获得。 二 NSThread的基本使用和创建 1)基本用法(主线程|当前线程) 1 //1.获得执行该方法的当前线程 2 let currentThread = NSThread.currentThread() 3 ...
阅读全文
摘要:一、GET请求和POST请求简单说明 @IBOutlet weakvar userName:UITextField! @IBOutletweakvar userPwd:UITextField! @IBOutletweakvar logonResult:UILabel! /* 创建Get请求 */ f
阅读全文
摘要:说明:本文示例代码发送的请求均为http请求,需要对info.plist文件进行配置。如何配置,请参考https://github.com/HanGangAndHanMeimei/iOS9AdaptationTips 一、简单说明 在iOS9.0之后,以前使用的NSURLConnection过期,苹
阅读全文
摘要:/** 所有网络请求,统一使用异步请求! 在今后的开发中,如果使用简单的get/head请求,可以用NSURLConnction异步方法 GET查/POST增/PUT改/DELETE删/HEAD GET 1> URL 2> NSURLRequest 3> NSURLConnction 异步 POST
阅读全文
摘要:iOS 的三种多线程技术 (1)NSThread (2) NSOperation/NSOperationQueue (3) GCD —— Grand Central Dispatch CGD基本思想 GCD的基本思想是就将操作s放在队列s中去执行 操作使用Blocks定义 队列负责调度任务执行所在的
阅读全文
摘要:GET & POST GET GET的语义是获取指定URL的资源 将数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用"?"连接,各变量之间使用"&"连接 貌似不安全,因为在传输过程中,数据被放在请求的URL中 传输的数据量小,这主要是因为受URL长度限制
阅读全文
摘要:1. 数据存储常用的方式 (1)XML 属性列表(plist)归档 (2)preference(偏好设置) (3)NSKeyedArchiver归档(NSCoding) (4) SQLite3 (5) Core Data 2. 应用沙盒(文件系统根目录) 2.1. 应用沙盒结构分析 Document
阅读全文
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 import UIKit import Alamofire class ViewController: UIViewController { var phoneNumber =UITextFi
阅读全文
摘要:1.App名称的修改 许多个人开发者或许会有和我一样的经历,开发一个App途中会想到更合适的名字,这时候变会修改工程名以达到App名称改变的目的,其实你可以一步到位—— 在info.plist中添加一个key(Bundle display name),Value就是你需要的新名字,Run后退回主页面
阅读全文
摘要:在Xcode 6中有许多快捷键的设定可以使得你的编程工作更为高效,对于在代码文件中快速导航、定位Bug以及新增应用特性都是极有效的。 当然,你戳进这篇文章的目的也在于想要快速的对代码文件进行操作,或者是让Xcode的各面板更为适应你小本子的屏幕。 在Xcode 6所有快捷键中下列这些是首当其冲应当学
阅读全文
摘要:2.偏好设置 通过“command+,”快捷键或”Xcode|Preferences”菜单呼出偏好设置。 (1)主题及字体(Preferences->Fonts & Colors) 选中一种主题(theme),例如“Midnight”,然后shift选择Source Editor/Console中的
阅读全文
摘要:这篇随笔将会简单的记录下ImageView这个控件的一些使用方法,以及其最重要的一个属性: scaleType ImageView这个控件是用来显示图片用的,例如我们可以通过下面这段xml配置来声明显示一张图片: 其中src就是引用我们需要使用的图片,其可以是存放在 assets 目录下的图片,也可
阅读全文
摘要:1 android:scaleType="center" (1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按照图片的原大小居中显示,不缩放,用ImageView的大小截取图片的居中部分。 (2)当图片小于ImageView的宽高:直接居中显示该图片。 2
阅读全文
摘要:做室内定位的程序员应该都知道,在Android 5.0之后,google推出了蓝牙扫描新接口,我们在实测中发现出一些问题,现在给大家列出,以供参考: 1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startLeScan(callback)
阅读全文
摘要:Hello,大家好,我是Clock。今天要写的这篇文章主题是关于夜间模式的实现套路。本来这篇文章是上周要写的,结果因为上周末有其他事情,所以拖到这个周末才完成。曾经和薇薇(钛媒体漂亮的程序媛)聊过夜间模式实现的问题,当时薇薇酱负责钛媒体客户端的重构工作,有个夜间模式功能在考虑要不要用 Android
阅读全文
摘要:作者:Bgwan链接:https://zhuanlan.zhihu.com/p/22520818来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。网上看到过大多实现夜间模式的效果,实现方式总结起来,发现好繁琐,大多数夜间模式实现都是基于另一套apk来,作为依赖实现,像QQ
阅读全文
摘要:作者:Bgwan链接:https://zhuanlan.zhihu.com/p/22573081来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 an框架的网络框架是完全基于Xutils3.0以上的,这里需要感谢前辈/wyouflf/xUtils3的无私奉献。 Begi
阅读全文
摘要:作者:Bgwan链接:https://zhuanlan.zhihu.com/p/23363591来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Android5.0(Lollipop) BLE蓝牙4.0+浅析demo连接(三) 上面的两篇文章已经实现了蓝牙之间的搜索和
阅读全文
摘要:作者:Bgwan链接:https://zhuanlan.zhihu.com/p/23679793来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。置顶:此文转载CSDN博客文章,原文地址:http://blog.csdn.net/poltroon/article/deta
阅读全文
摘要:作者:Bgwan链接:https://zhuanlan.zhihu.com/p/23347612来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Android5.0(Lollipop) BLE蓝牙4.0+浅析code说明(二) Android4.4 启用蓝牙相关的操作
阅读全文
摘要:作者:Bgwan链接:https://zhuanlan.zhihu.com/p/23341414来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作者:Bgwan 莳萝花链接:android BLE 蓝牙4.0+浅析(一) - Android开发 - 知乎专栏来源:知乎
阅读全文
摘要:BluetoothAdapter.java中有low enery(le)的一些方法,android提供了这些方法,但源码中并未找到这些方法的调用之处。本文档主要分析这类方法的执行流程,来了解下le到底做了些什么。 本文主要就是分析下startLeScan方法(两个重载方法)。 下面来分析下iGatt
阅读全文
摘要:android4.3中引入了蓝牙低能耗le(low energy),相应的也有一些方法/类。不过代码里,并没有找到初始调用的地方。所以这里还是先只分析下bt普通的扫描流程(类似android 4.2),先贴出流程图 主要通过“扫描”的流程来分析下 BluetoothSettings.java::st
阅读全文
摘要:private String convertString(String str, Boolean beginUp){ 以上方法 比直接使用String 自带的 str.toLowerCase() 和 str.toUpperCase() 效率高些
阅读全文
摘要:在项目开发的时候会需要统一字符串的格式,比如首字母要求统一大写或小写,那用Java如何实现这一功能?下面一起来学习学习。 话不多说,直接上代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //首字母转小写 public static String toLowerCaseFi
阅读全文
摘要:我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧。确实设置闹钟是一个比较麻烦的东西。我在这里写的这个demo抽出来了封装了一个类库,大家直接调用其中的设置闹钟和取消闹钟的方法即可。可以设置每天的闹钟,周一到星期天之间多选的闹钟,也可以设置选择一次性闹钟,跟系统设置闹钟的
阅读全文
摘要:AlarmManager介绍 AlarmManager这个类提供对系统闹钟服务的访问接口。 你可以为你的应用设定一个在未来某个时间唤醒的功能。 当闹钟响起,实际上是系统发出了为这个闹钟注册的广播,会自动开启目标应用。 注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是当设备关机
阅读全文
摘要:前些时候,有人在我「非著名程序员」微信公众号的后台问我有没有设置闹钟的demo,我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧。确实设置闹钟是一个比较麻烦的东西。我在这里写的这个demo抽出来了封装了一个类库,大家直接调用其中的设置闹钟和取消闹钟的方法即可。可以设置每
阅读全文
摘要:闹钟的原理可用下面我自己画的一幅图来概括:(不对的地方,尽管吐槽) 我们来看看新建闹钟到闹钟响铃的步骤: 1、新建一个闹钟: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 // 获得AlarmManager实例 fi
阅读全文
摘要:Android中的AlarmManager功能很强大,它是一个全局定时器,可以在指定时间或者指定周期启动其他组件(包括Activity、Service、BroadcastReceiver)。 使用AlarmManager编程也很简单,只要按照以下步骤即可: 1.获取AlarmManager对象; 2
阅读全文
摘要:Android内存优化是我们性能优化工作中比较重要的一环,这里其实主要包括两方面的工作: 优化RAM,即降低运行时内存。这里的目的是防止程序发生OOM异常,以及降低程序由于内存过大被LMK机制杀死的概率。另一方面,不合理的内存使用会使GC大大增多,从而导致程序变卡。 优化ROM,即降低程序占ROM的
阅读全文
摘要:写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。 所以我将本文定义为一个工具类的文章,如果你在Android开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都
阅读全文
摘要:写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。 所以我将本文定义为一个工具类的文章,如果你在Android开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都
阅读全文
摘要:写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。 所以我将本文定义为一个工具类的文章,如果你在Android开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都
阅读全文
摘要:转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看。 http://blog.csdn.net/a396901990/article/category/
阅读全文
摘要:Annotation(注解)简介: 注解大家印象最深刻的可能就是JUnit做单元测试,和各种框架里的使用了。本文主要简单介绍一下注解的使用方法,下篇文章再深入的研究。 annotation并不直接影响代码语义,但是它能够被看作类似程序的工具或者类库,它会反过来对正在运行的程序语义有所影响。 anno
阅读全文
摘要:通过上一篇文章介绍的静态代理Java反射学习总结三(静态代理)中,大家可以发现在静态代理中每一个代理类只能为一个接口服务,这样一来必然会产生过多的代理,而且对于每个实例,如果需要添加不同代理就要去添加相应的代理类。解决这一问题最好的做法是可以通过一个代理类完成全部的代理功能或者说去动态的生成这个代理
阅读全文
摘要:反射最常见的应用就是代理模式了。 本文先简单介绍一下代理模式,并写一个静态代理的例子。为下一篇重要的动态代理做点铺垫 代理模式的作用是: 为其他对象提供一种代理以控制对这个对象的访问。 另外在某些情况下,一个客户不想或着不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 说
阅读全文
摘要:大家都知道正常的调用是不可以访问对象的private修饰的属性和方法的,这也是Java的封装性原则。 但是有没有方法可以强制去访问对象的private修饰的属性和方法呢?那就是用反射!(这个可能在面试题中被问到哦) 接下来就来看看是如何实现的: 我们先去jdk里看一下描述属性的类Field,和方法的
阅读全文
摘要:Class类是Reflection API中核心的类,他位于Java.lang.Class 列出一些常用的方法。 - getName() : 获得类的完整名字 - getFields() : 获得类的public类型的属性 - getDeclaredFields() : 获得类的所有属性 - get
阅读全文
摘要:图片加载性能优化永远是Android领域中一个无法绕过的话题,经过数年的发展,涌现了很多成熟的图片加载开源库,比如Fresco、Picasso、UIL等等,使得图片加载不再是一个头疼的问题,并且大幅降低了OOM发生的概率。然而,在图片加载方面我们是否可以就此放松警惕了呢? 开源图片加载库能为我们解决绝大部分有关图片的问题,然而并不是所有! 首先,图片从来源上可以分成三大类:网络图片、手机图片...
阅读全文
摘要:Android中有时需要获取屏幕的size信息以便对控件位置进行动态控制,最近做了一些研究,现在将获取屏幕大小信息的方法总结如下,可能存在一些地方理解的不全面。 1.getMetrics Java代码 DisplayMetrics dm = new DisplayMetrics(); activit
阅读全文
摘要:第一:我们先看下质量压缩方法: Java代码 private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.Co
阅读全文
摘要:package cc.util.android.image; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.math.B...
阅读全文
摘要:1. BitMap类 public void recycle()——回收位图占用的内存空间,把位图标记为Dead public final boolean isRecycled() ——判断位图内存是否已释放 public final int getWidth()——获取位图的宽度 public final int getHeight()——获取位图的高度 public final b...
阅读全文
摘要:我们都知道一个App的成败,首先取决于是否具有优秀的UI,而除了交互功能之外还需要丰富的图片背景和动画去支撑。在开发中我们应用到的图片不仅仅包括.png、.gif、.9.png、.jpg和各种Drawable系对象,还包括位图Bitmap,而且图片的处理也经常是影响着一个程序的高效性和健壮性。 一、
阅读全文
摘要:由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出。Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存溢出(java.lang.OutOfMemoryError),只有在BitmapFactory加载图片时使用BitmapFactory.O
阅读全文
摘要:在Android中,BitmapFactory相信大家都很熟悉了,这个类里面的所有方法都是用来解码创建一个Bitmap,其中有一个重要的类是Options,此类用于解码Bitmap时的各种参数控制,那这里面的各种参数都是什么含义呢?今天我们就来重点解读几个参数。 inJustDecodeBounds
阅读全文
摘要:Android应用开发中三种常见的图片压缩方法,分别是:质量压缩法、比例压缩法(根据路径获取图片并压缩)和比例压缩法(根据Bitmap图片压缩)。 一、质量压缩法 private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ...
阅读全文
摘要:一、概述 距离上一篇博客有段时间没更新了,主要是最近有些私事导致的,那么就先来一篇简单一点的博客脉动回来。 对于加载图片,大家都不陌生,一般为了尽可能避免OOM都会按照如下做法: 其实对于图片加载还有种情况,就是单个图片非常巨大,并且还不允许压缩。比如显示:世界地图、清明上河图、微博长图等。 那么对
阅读全文
摘要:二、Handler的postDelyed方法 三、Handler + Timer + TimerTask
阅读全文
摘要:UIImageView+Extension.swift import UIKit extension UIImageView { // 360度旋转图片 func rotate360Degree() { let rotationAnimation = CABasicAnimation(keyPath
阅读全文
摘要:UIView动画个人笔记,代码简单,不过多赘述。1.定义三个View 2.初始化相关信息 3.实现相关动画 附:CABasicAnimation的KeyPath透明度为:opacity其余如下:
阅读全文
摘要:开源分享三(炫酷的Android Loading动画) 分享GitHub上的一些Loading,为了提升产品用户体验,一个好的Loading必然是不可缺少的,对于一些耗时需要用户等待的页面来说会转移用户注意力,不会显得那么烦躁,所以你可以看到市面上一些App中的各种各样的Loading动画,从这些实
阅读全文
摘要:AVLoadingIndicatorView 包含一组漂亮的Android加载中动画。 IOS版本:here. 示例 Download Apk 用法 步骤1 Add dependencies in build.gradle. 步骤2 Add the AVLoadingIndicatorView to
阅读全文
摘要:额...貌似挺长时间没有总结新知识了,最近在看swift,之前swift刚出来的时候大体看了一遍,后来时间长了没看加之swift2.0做了比较大的调整,公司项目也不是用swift写的,也就没怎么看了,谁成想忘的差不多了,趁公司最近项目不忙,有抽时间看了一丢丢,感觉这知识真是看一遍有一遍的收获,最近看
阅读全文
摘要:https://github.com/naoyashiga/RPLoadingAnimation
阅读全文
摘要:现在在苹果应用商店上有超过140万的App,想让你的app事件非常具有挑战的事情。你有这样一个机会,在你的应用的数据完全加载出来之前,你可以通过一个很小的窗口来捕获用户的关注。 没有比这个更好的地方让用户大为赞叹,当你的应用程序载入画面的时候,你可以添加一个愉快的动画,作为先导,以加载你的应用。 在
阅读全文
摘要:Swift2.3: //创建旋转动画 let anim = CABasicAnimation(keyPath: "transform.rotation") //旋转角度 anim.toValue = 1 * M_PI //旋转指定角度需要的时间 anim.duration = 1 //旋转重复次数
阅读全文
摘要:在Swift中你可以像其他语言一样抛出异常处理异常,今天我们就详细地说说Swift中的异常抛出和处理。 在一开始我们要定义错误或者说是异常,Swift中的一些简单异常可以使用枚举定义,注意这个枚举要继承一个空协议Error,如下代码: 这里定义了一个异常值的枚举,接下来我们再写个函数来使用这些异常值
阅读全文
摘要:随着iOS越来越多表情键盘以及图文混排的需求,本文运用Swift3.0系统的实现其功能以及封装调用方法,写的不好,如有错误望各位提出宝贵意见,多谢 项目源码地址: 相关知识点都有标识 项目源码地址 废话不多说,先看效果 项目目录分为: EmoticonManager(表情管理类) EmoticonP
阅读全文
摘要:修改项目名称两种方式 1.Bundle name 2.Bundle display name try 三种处理异常的方式 封装TabBar创建自控制器 根据Json文件,通过字符串获取数据 代码创建Window 便利(convenience)构造函数 便利构造函数通常用在对系统的类进行构造函数的扩充
阅读全文
摘要:swift3.0调用相册首先需要注意: 1.swift3.0中调用相机和相册会导致崩溃 1.需要在info.plist文件中加入两个键值对,如下: 2.UIImagePickerControllerSourceType枚举 3.功能实现Demo 4.UIImagePickerController协议
阅读全文
摘要:WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法。这篇文章会主要围绕这个方面进行讨论。 ##如何建造异常类型? 在 iOS 开发当中,我们会面对很多异常处理。在 Cocoa Touch 中我们使用NSError来进行异常处理。在新的 Swift
阅读全文
摘要:import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } override func touchesBegan(touches: Set, withEvent event: UIEvent?) { ...
阅读全文