posts - 197,comments - 34,trackbacks - 0

摘要: 在开发过程中,经常涉及到要用到图片,但是图片有很多不同的格式,他们之间有什么区别呢,我们在使用的时候又该如何选择呢?本文介绍和比较几种常见图片文件格式的优缺点,并介绍不同的文件格式对应用程序性能的影响。 有损vs无损 图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损压缩和无阅读全文
posted @ 2018-11-21 14:55 mukekeheart 阅读(23) 评论(0) 编辑
摘要: 在移动端或者前端开发中,UI图通常是带标注的,指定某个控件的长宽等属性,一般UI给的是68px,72px这样的样式,但是我们在开发过程中通常又并不是完全按照上面的标注去设置值,有时候需要将这个标注除以2或者除以3在进行赋值给frame,这其中的原因是因为标注一般都是按px格式给的,但是iOS底层绘制阅读全文
posted @ 2018-11-21 10:28 mukekeheart 阅读(156) 评论(0) 编辑
摘要: RunLoop的字面意思是运行循环、跑圈,一个App启动后能一直执行,就是因为启动后进入了一个循环,在这个循环中不断监听各种状态、手势动作,并做出相应的响应。这个循环就是我们今天要探究的RunLoop。 1 RunLoop基础 1.1 RunLoop的基本作用 保持程序的持续运行(ios程序为什么能阅读全文
posted @ 2018-10-11 16:06 mukekeheart 阅读(158) 评论(0) 编辑
摘要: 转载自:教你彻底学会动态规划——入门篇 1、概述 动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂阅读全文
posted @ 2018-09-17 08:47 mukekeheart 阅读(50) 评论(0) 编辑
摘要: 转载自:iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用 一、多线程的基本概念 进程:可以理解成一个运行中的应用程序,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,主要管理资源。 线程:是进程的基本执行单元,一个进程对应多个线阅读全文
posted @ 2018-08-14 09:38 mukekeheart 阅读(132) 评论(0) 编辑
摘要: iOS崩溃日志ips文件解析 一 简介 测试组的同事在进行稳定性测试时,通常会遇到一些崩溃,然后他们会将这些崩溃日志(一般是ips格式的文件)反馈给开发进行分析,但是这些ips文件中的内容通常是如下图这样的,都是一些十六进制的堆栈地址,如果仅仅根据这些堆栈地址,我们基本无法做任何事情,连最基本的崩溃阅读全文
posted @ 2018-08-09 16:36 mukekeheart 阅读(407) 评论(0) 编辑
摘要: iOS学习——核心动画 1、什么是核心动画 Core Animation(核心动画)是一组功能强大、效果华丽的动画API,无论在iOS系统或者在你开发的App中,都有大量应用。核心动画所在的位置如下图所示,可以看到,核心动画位于UIKit的下一层,相比UIView动画,它可以实现更复杂的动画效果。 阅读全文
posted @ 2018-07-27 11:21 mukekeheart 阅读(152) 评论(0) 编辑
摘要: iOS学习——核心动画之Layer基础 1、CALayer是什么? CALayer我们又称它叫做层。在每个UIView内部都有一个layer这样一个属性,UIView之所以能够显示,就是因为它里面有这个layer才具有显示的功能。我们可以通过操作CALayer对象,可以很方便地调整UIView的一些阅读全文
posted @ 2018-07-26 15:56 mukekeheart 阅读(249) 评论(1) 编辑
摘要: iOS学习——Quartz2D学习之UIKit绘制 1、总述 在IOS中绘图技术主要包括:UIKit、Quartz 2D、Core Animation和OpenGL ES。其中Core Animation提供动画实现技术,OpenGL ES是OpenGL针对嵌入式设备的简化版本,用以绘制高性能的2D阅读全文
posted @ 2018-07-23 16:55 mukekeheart 阅读(84) 评论(0) 编辑
摘要: Quartz2D学习之DrawRect 本文以问答形式主要讲述Quartz2D的相关内容,参考内容是网上下载的学习视频资料。 1、什么是Quartz2D? 他是一个二维的绘图引擎,同时支持iOS和Mac系统 2、Quartz2D能完成的工作 画基本线条,绘制文字,图片,截图,自定义UIView. 3阅读全文
posted @ 2018-07-20 14:18 mukekeheart 阅读(110) 评论(0) 编辑
摘要: 在iOS开发过程中一直都是使用模拟器进行调试,在模拟器上有很多不适应的地方,但是其实在模拟器上也有很多其他的功能,在本文中主要对模拟器的一些基本功能进行总结一下。 1 首先,我们了解一下模拟器中常用的一些快捷键: SHIFT+CMD+H———回到桌面 CMD+S———模拟器截屏(所截图片都在桌面上)阅读全文
posted @ 2018-07-10 17:15 mukekeheart 阅读(63) 评论(0) 编辑
摘要: 一、Session的概念 Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的S阅读全文
posted @ 2018-07-03 10:28 mukekeheart 阅读(23) 评论(0) 编辑
摘要: 1、将“0.0.0.0 account.jetbrains.com”中的内容添加到hosts文件中,hosts路径为:C:\Windows\System32\drivers\etc mac用户的hosts文件在\etc目录下,通过 cd /etc 命令进入该目录,然后通过 sudo vim host阅读全文
posted @ 2018-06-07 16:37 mukekeheart 阅读(54) 评论(0) 编辑
摘要: 参见:深入理解Java枚举类型(enum)阅读全文
posted @ 2018-05-29 12:56 mukekeheart 阅读(31) 评论(0) 编辑
摘要: 转载自:http://blog.sina.com.cn/s/blog_7b9d64af0101dfg8.html 最近用到搜索功能。于是,经过不断的研究,终于,有点懂了。 那就来总结一下吧,好记性不如烂笔头! 搜索,无疑可以使用UISearchBar控件!那就先了解一下UISearchBar控件吧!阅读全文
posted @ 2018-04-26 17:05 mukekeheart 阅读(116) 评论(0) 编辑
摘要: 最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的cell,导致我们无法很方便地查看到我们输入的内容,这样的体验是非常不好的。这个问题在之前我们阅读全文
posted @ 2018-03-26 16:09 mukekeheart 阅读(831) 评论(0) 编辑
摘要: 今天在开发过程中用到了UITableView,在对cell进行设置的时候,我发现对UITableViewCell的重用设置的方法有如下两种,刚开始我也不太清楚这两种之间有什么区别。直到我在使用方法二进行重用的时候,具体实现代码如下,其中CJMeetingReplyBasicCell是我自定义的UIT阅读全文
posted @ 2018-03-16 16:25 mukekeheart 阅读(499) 评论(1) 编辑
摘要: 最近项目上需要用到一个选择器,选择器中的内容只有年和月,而在iOS系统自带的日期选择器UIDatePicker中却只有四个选项如下,分别是时间(时分秒)、日期(年月日)、日期+时间(年月日时分)以及倒计时。其中并没有我们所需要的只显示年月的选择器,在网上找了很多相关的资料,但是觉得都写得过于麻烦。因阅读全文
posted @ 2018-03-15 12:12 mukekeheart 阅读(1622) 评论(2) 编辑
摘要: 入坑iOS开发这么久,一直都是在模拟器上运行,公司的项目也都有公司的开发者账号进行真机调试。但是很多时候在网上download一些demo想在真机上运行看一下效果的时候都没法成行,今天抽空好好研究和学习了一下在最新的xcode9上如何进行无证书真机调试,过程其实很简单,下面我们来了解一下整个过程。 阅读全文
posted @ 2018-03-14 13:25 mukekeheart 阅读(3883) 评论(0) 编辑
摘要: 最近项目上需要开发扫描二维码进行签到的功能,主要用于开会签到的场景,所以为了避免作弊,我们再开发时只采用直接扫描的方式,并且要屏蔽从相册读取图片,此外还在二维码扫描成功签到时后台会自动上传用户的当前地点,如何自动定位获取用户的当前地点在上一篇随笔iOS学习——自动定位中已经讲过了,本文就简单地说一下阅读全文
posted @ 2018-03-13 14:33 mukekeheart 阅读(1140) 评论(4) 编辑
摘要: 最近在项目中需要做自动定位功能,就是你在参加会议通过扫描二维码签到的时候自动定位并将你的定位信息在签到中上传,这样可以避免我们进行假签到。在这个功能中,主要用到的是系统自带的定位模块,首先我们是需要配置定位功能的参数,然后当我们定位成功时调用特定的方法进行相应操作就可以了,当然,在定位失败时我们也可阅读全文
posted @ 2018-03-12 16:05 mukekeheart 阅读(234) 评论(2) 编辑
摘要: 本文转载自:ios开发 之 UIResponder详解 我们知道UIResponder是所有视图View的基类,在iOS中UIResponder类是专门用来响应用户的操作处理各种事件的,包括触摸事件(Touch Events)、运动事件(Motion Events)、远程控制事件(Remote Co阅读全文
posted @ 2018-02-23 15:42 mukekeheart 阅读(88) 评论(0) 编辑
摘要: 本文主要转载自:ios开发 之 NSObject详解 NSObject是大部分Objective-C类继承体系的根类。这个类遵循NSObject协议,提供了一些通用的方法,对象通过继承NSObject,可以从其中继承访问运行时的接口,并让对象具备Objective-C对象的基本能力。下面我们就详细的阅读全文
posted @ 2018-02-14 09:33 mukekeheart 阅读(157) 评论(0) 编辑
摘要: 在iOS开发中,我们知道有一个共同的基类——NSObject,但是对于界面视图而言,UIView是非常重要的一个类,UIView是很多视图控件的基类,因此,对于UIView的学习闲的非常有必要。在iOS学习——iOS 整体框架及类继承框架图中列出了iOS中所有类的继承框架图,其中下面这张图就是iOS阅读全文
posted @ 2018-02-13 16:47 mukekeheart 阅读(491) 评论(0) 编辑
摘要: 在iOS学习和开发过程中,经常会遇到一些很小的知识点和问题,一两句话就可以解释清楚了,这样的知识点写一篇随笔又没有必要,但是又想mark一下,以备不时之需,所以就有了本文。后面遇到一些小的知识点会不断更新和整理。 Question 1: 在iOS开发中经常会遇到定义属性时有getter赋值语句,在U阅读全文
posted @ 2018-02-13 14:30 mukekeheart 阅读(53) 评论(0) 编辑
摘要: 在iOS开发过程中,我们在一些源码中经常会看到导包的时候有的用#import进行导包,但是有的的时候也会看到用@class进行导包,那么这两种方式有什么区别呢? 一 @class和#import的主要区别 首先说一下最主要的区别: 使用#import引入一个类的头文件,编译时会将该类的头文件中的所有阅读全文
posted @ 2018-02-13 14:00 mukekeheart 阅读(113) 评论(2) 编辑
摘要: iOS开发过程中很大一部分内容就是界面布局和跳转,iOS的布局方式也经历了 显式坐标定位方式 --> autoresizingMask --> iOS 6.0推出的自动布局(Auto Layout)的逐步优化,至于为什么推出自动布局,肯定是因为之前的方法不好用(哈哈 简直是废话),具体如何不好用以及阅读全文
posted @ 2018-02-12 16:46 mukekeheart 阅读(232) 评论(0) 编辑
摘要: 不管是iOS开发还是前端、Java、Android开发中,我们经常需要用到第三方库,而在搜索第三方库的介绍和使用文档时,经常会看到轻量级、重量级等字眼,那么轻量级框架和重量级框架是怎么区分的呢? 判定一个第三方框架是轻量级还是重量级是从多个方面去衡量的,但是最主要的衡量指标是以启动程序需要的资源来决阅读全文
posted @ 2018-02-08 10:25 mukekeheart 阅读(1184) 评论(0) 编辑
摘要: 在上一篇文章iOS项目——基本框架搭建中,我们详细说明了如何对TabBarItem的图片属性以及文字属性进行一些自定义配置。但是,很多时候,我们需要修改TabBarItem的图片和文字属性之外,还需要自定义TabBarItem的位置,这样系统自带的TabBar的样式并不能满足我们的项目需求,所以我们阅读全文
posted @ 2018-02-07 11:15 mukekeheart 阅读(981) 评论(4) 编辑
摘要: 项目开发过程中,在完成iOS项目——项目开发环境搭建之后,我们首先需要考虑的就是我们的项目的整体框架与导航架构设计,然后在这个基础上考虑功能模块的完成。 一 导航架构设计 一款App的导航架构设计应该是符合人们的操作惯性和方便操作的特点,也应该在交互上更加合理和人性化。根据项目功能和定位不同,不同的阅读全文
posted @ 2018-02-05 10:30 mukekeheart 阅读(760) 评论(0) 编辑