自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iOS学堂

这里是iOS学习的小天地,分享最新的iOS开发技术和总结

  • 博客(112)
  • 资源 (3)
  • 收藏
  • 关注

原创 iOS9 3D Touch 标签菜单 peek and pop force 压力触控 功能开发高级版教程

3D Touch 是6s、6ps ,iOS9 新出的一项用户界面交互技术。给用户带来的额外维度上的交互,这个设计之所以叫做3D Touch,其原理上是增加了一个压力的感触,通过区分轻按和重按来进行不同的用户交互。技术的本身并不是难点,而是怎样优雅地把这些技术平滑的融入到我们的app,我们的工作,我们的生活,才是学习的之本,学习之道。

2016-01-27 15:12:35 4188

原创 XCode7,打包上传的一些警告,及参考处理方法

iOS 打包上传中一些警告,错误的总结。希望能对各位有所帮助

2016-01-23 11:55:37 20286 2

原创 一种导致UITextView输入中文却先输入拼音的解决思路

最近测试发现在某个页面的UITextView输入中文时,会显示输入错乱,如上图所示。语言问题,输入法等可能因素后,锁定了问题的所在: 为了实现字数限制 和禁止输入换行符,我在回调函数里写了如下的坑爹代码

2015-11-23 20:55:43 7194

原创 UIScrollview在 iOS 11和iPhone X上偏移的两套完美适配方案

iPhone X已经来了,您的APP完全适配了iOS 11和iPhone X了吗?昨天看到QQ的上下宽黑边,王者荣耀的左右大宽黑边和底部黑边,肾疼,iPhone X要白买了。因iOS11废弃了automaticallyAdjustsScrollViewInsets属性,几乎所有的APP用xcode9在iOS11上运行,都会存在偏移或漂移问题。别担心,老司机已经帮你整理好两种适配方案,解决iOS 7到iOS11 在各类iPhone 和iPad上的偏移问题,发车了

2017-11-04 17:38:10 3640

原创 __bridge 显式转换 id和void *

最近在做项目优化工作,搭建基于CoreText的富文本引擎,遇到了不少问题,将它们记录下来。后续整理。写法1:CTRunDelegateRef delegate = CTRunDelegateCreate(&callbacks, (__bridgevoid *)imageInfoDict);写法2:    CTRunDelegateRef deleg

2017-10-18 15:02:14 5772

原创 iPhoneX适配之UI设计、交互设计

苹果近日发布了全新的iPhone X全面屏手机,这也是首款采用OLED屏幕的iPhone手机,它的正面设计被更多人吐槽,iPhone X 的刘海可能是让人又爱又恨的设计。这几天被iPhone X一顿刷屏,不少标题写着“iPhone X 适配、指南、设计稿” 内容却是发布会回顾和手机介绍。索性自己去官网找素材写一篇只针对iPhone X适配的贴子,与设计图无关的内容通通不提。 后续,我会发布iOS工程师如何从代码层面上做适配。

2017-09-17 17:25:35 17309 1

原创 iOS11正式版要来了!这些iPhone请慎重升级!

iOS11正式版要来了!体验福利多多,但这些iPhone6s以下请慎重升级!

2017-09-14 11:43:31 14658

原创 深入理解RunLoop

RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概念RunLoop 与线程的关系RunLoop 对

2017-09-14 10:20:48 392

原创 iOS开发之同一应用设置不同图标和名称

经常在开发中遇到同一个App会有很多渠道版本,比如OTA内部测试版本,AppStore发布版本等。针对这些不同的版本我们通常会选择不同的图标、应用名称等,效果如下图所示:P.S上面使用的两个测试图标分别来源于土巴兔和乐视TV的iPhone版本APP的图标,是两个非常不错的APP,感谢你们。Bundle IDios系统区分不同的App是否相同是根据App的Bundle

2017-09-06 18:19:54 1261

转载 iOS 同一个工程下 使用多target来构建大量相似App

本人今年主要在负责猿题库iOS客户端的开发,本文旨在通过分享猿题库ios客户端开发过程中的技术细节,达到总结和交流的目的。这是本技术分享系列文章的第一篇。本文涉及的技术细节是:采用多Target编译方案来实现多个相似App的开发,以保证我们能够快速地推出多个相似课程的客户端。问题描述今年春节后,我们对外发布了应用“猿题库-公务员考试行测”,接着我们就开始一个个发布猿题库系列

2017-09-06 18:16:09 1041

转载 iOS10.3福利 允许App运行中变更App图标

在iOS10.3中,苹果提供了一个比较有意思的功能。不知道大家注意到没有,iPhone自带的日历和始终App的图标是实时显示当日日期和当时的时间的,时间的秒钟还会走动,这其实就做到了在安装完App后,还能自由地变更App的图标,而现在,我们普通的开发者也可以实现了。但是这只能在iOS10.3之后实现。效果如下:可以看到在点击按钮操作后将App的图标更换掉了。

2017-09-06 18:14:02 2755

转载 iOS 10.3 这些新变化你应该知道

在测试版本号记录一再被刷新后,iOS 10.3 在凌晨终于正式发布了。新版 iOS 带来了新的 Apple ID 页面和 App Store 评分机制,以及包括 Find My AirPods、剧场模式和 Apple File System 在内的不少新功能。少数派第一时间为大家整理了 iOS 10.3 中值得关注的新变化。app内评分APP图标动态变化  ▍新的 Appl

2017-09-06 18:10:46 424

原创 代理和block的混用

代理和block是iOS开发中最常用的传值方式,具体的基本用法网上非常多,我就不一一讲解了,结合项目中最近遇到的一个小问题,做些个简单的笔记,供大家借鉴。

2017-08-21 15:05:10 452

原创 iOS倒计时按钮Button标题闪烁处理

iOS倒计时按钮Button标题闪烁处理

2017-08-04 16:40:55 4285

原创 [SKRemoteReviewViewController release]

iOS 系统正在变得更加人性化哈,iOS10.3中新添加了一个API 让用户可以在APP内直接给APP打分(没法写评语),为了项目更好的评分,我正准备在项目中添加,这个功能,实现起啦,很简洁,操作也很简单,一年只能弹出3次,何时弹出,具体控制逻辑后续给出参考。基本实现参考如下:+ (void)showAppStoreReView{ //仅支持iOS10.3+(需要做校验)且每

2017-08-02 18:27:14 988

原创 技术类博客网站推荐

作为一个高素质的程序员,要严格要求自己,要有终身学习,时刻学习的良好习惯。

2017-07-28 23:48:33 3211

原创 iOS 应用跳转到AppStore评分 可内置跳转

1. 评分:在ios6.0前跳转到appstore评分一般是直接跳转到appstore评分NSString *str = [NSString stringWithFormat:@"https://itunes.apple.com/us/app/id%@?ls=1&mt=8",@"587767923"]; [[UIApplication sharedApplication] openU

2017-07-27 00:23:07 3513

转载 Chisel-LLDB命令插件,让调试更Easy

LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。(这里有一个关于调试器如何工作的总体的解释。)相信每个人或多或少都在用LLDB来调试,比如po一个对象。LLDB的是非常强大的

2017-07-26 14:52:17 2293

原创 具透 | iOS 10.3 新 App Store 评价机制详解

在 iOS 10.3 中,一个重要的变化是 Apple 引入了新的 App Store 评价机制。用户可以直接在 App 内进行评分,开发者可以对用户在 App Store 的评论进行回复。这些新机制对我们的日常使用会产生哪些影响,开发者又如何看待这些新机制?新机制,新在何处?评分,你不再需要前往 App Store在 iOS 10.3 之前,如果你要给一个应用评分,那么你

2017-07-26 12:03:31 2164

原创 iOS10.3 app内好评详解 SKStoreReviewController

App Store评分方式:iOS10.3版本以前:只能通过APP内部打开网页形式,跳转到App Store 直接编辑评论。在评分页面,可以评分和评价,评论更有价值。缺点是跳转到App Store,用户的操作场景的转换,会造成部分用户使用的困扰,可能需要花费较长的等待时间,甚至加载失败等,造成评价数量少。iOS10.3+:APP内评分机制是iOS 10.

2017-07-26 12:02:25 8085 3

原创 UIWindow的windowLevel属性

UIwindow的 windowLevel 和 将自定义视图 覆盖到键盘视图以上。

2017-07-05 23:01:57 2956

原创 xib学习周计划:1——xib文件的基本认识

近3年APP软件出现爆发式增长,开发迭代速度论天算,纯代码开发由来已久,目前在大厂,主流开发还是纯代码居多,为了协同和兼容低版本,个别大厂的老项目甚至是禁用xib开发的难过。中小公司的新产品线,为了开发效率,xib开发比例相对较大,并开始转向swift语言。我的前3个项目是用纯代码写的,最近的3个项目主要是xib为主,以下是我总结的xib的优缺点,这个问题其实相对主观,没有绝对,个人观点,仅供参考。

2017-07-05 14:29:31 788

原创 iOS工作小结

1.关于在NSobject类中无法声明UImageView *等参数Framwork要加入UIKit框架,UIImage才能使用2.打包时选择了表述文件后只会显示对应的一个证书,只要有多个证书就重启一遍xcode3.白色字体因为背景图片而看不清如何处理在背景图片上蒙一层半透明的UIImageView即可4.bounce可以控制scrollview的反弹效果为

2017-07-05 12:15:00 1608

原创 iOS开发-记录下在开发过程中遇到的问题的解决方案及经验总结-1

iOS 开发中的总结,小技巧,小思路的拓展,如有不当之处欢迎指正

2017-07-05 12:12:47 2573

原创 同时点击手势深度优化处理 setExclusiveTouch

前言iOS 中对手势响应事件的定义很丰富(参考iOS七种手势),最常用的是点击手势,若不做一些配置处理,你可能会遇到很尴尬的问题,如一个页面两个弹窗重叠,一个页面被Push了多次等。让我们一起探讨下,怎么避开这些坑。注意:我在下文描述时,用的是点击手势和响应区域,其实,UIView的子类都可以添加点击手势和响应事件,与点击UIbutton并响应事件本质上是相同的。先抛出一些小结论:

2017-07-03 11:17:52 3249

转载 NSProxy——少见却神奇的类

众所周知,NSObject类是Objective-C中大部分类的基类。但不是很多人知道除了NSObject之外的另一个基类——NSProxyObjective-C12NS_ROOT_CLASS@interface NSProxy这个奇怪的类是干嘛的?请允许我做一个黑人问号脸马上查了一下Apple的官方文

2017-07-03 10:45:16 548

转载 iOS开发之NSDictionary里setValue:forKey与setObject:forKey、objectForKey与valueForKey的差异

setValue:forKey与setObject:forKey的差异在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有。1,先看看setValue: forKey:的定义@interface NSMutableDictionary(N

2017-06-30 18:43:56 493

转载 iOS逆向:在任意app上开启malloc stack追踪内存来源

lldb有一个内存调试工具malloc stack,开启以后就可以查看某个内存地址的malloc和free记录,追踪对象是在哪里创建的。这个工具可以打印出对象创建的堆栈,而在逆向时,也经常需要追踪某些方法的调用栈,如果可以随时打印出某个对象的创建记录,也就能直接找到其所在的类和方法,不用再花费大量的时间去打log和动态调试追踪了。malloc stack在自己的项目中,要开

2017-06-30 17:30:54 2575

原创 iOS七种手势

iOS中手势的种类很丰富,同时各类手势之间是互斥的,同类手势之间是可以并存,并分别执行的。我们以给一个UIImageView实例添加手势为例,简要的介绍下。

2017-06-15 17:36:22 611

原创 iOS开发知识-常用小技巧大杂烩

开发过程中遇到的一些问题,网上查阅整理的一些问题,供大家参考,方便大家查阅1. 打印View所有子视图po [[self view]recursiveDescription]2. layoutSubviews调用的调用时机* 当视图第一次显示的时候会被调用* 当这个视图显示到屏幕上了,点击按钮* 添加子视图也会调用这个方法* 当本视图的大小发生改变的

2017-06-14 10:11:13 883

转载 iOS开发模拟网络状态差

在开发iOS的过程当中,我们经常需要模拟不同的网络环境,来对程序进行测试。以下是分别对模拟器和真机状态下的两种不同的方法,亲测有效。1.模拟器情况下模拟器方面,苹果给我们提供了一个很实用的工具,Network Link Conditioner可以模拟各种不同状况下的网络环境,方便我们进行测试。安装Network Link Conditioner位于”Hardware

2017-06-14 09:51:49 553

转载 中文字符ASCII码和NSString相互转换

不同语言的每个字符的utf8编码的字节数不一样,字节码也不一样。对于英文字符,查看它的ascii码,很方便,将字符取出来,就是它的ascii码。其实,对于非英文字符,取字符集编码的方式也是这样。这样统称为取ASCII码,在很多文档中也是这样描述的。

2017-05-25 11:05:28 5005

原创 iOS 取绝对值运算

1.abs(a) 处理int类型a的取绝对值2.fabsf(a)  处理float类型a的取绝对值3.fabs(a)   处理double类型a的取绝对值

2017-05-25 10:47:46 5854

原创 iOS对存放对象的数组排序

数组排序

2017-05-25 10:40:46 266

原创 iOS 获得iPhone iPad TabbarItem Frame 深度解析

- (void)viewDidLoad { [super viewDidLoad]; //iPhone上最多显示5个tabbarItem ipad上最多显示8个tabbarItem 高度固定为48 //iPhone 上item不论几个(不少以2个)总是均匀分布的 item的实际宽度(因部分屏幕宽度除不尽count,的除外),(WIDTH - items.count * 2

2017-05-24 18:23:31 2566

原创 iOS8新特性学习研究之UIAlertController

iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果(比如说旋转)中发挥了重要的作用,它有效地节省了程序员们的工作量(天地良心啊)。还有,某些旧的UIKit控件也同样发生了许多变化,比如说Alert Views、Action Sheets、Po

2017-05-23 11:39:06 310

原创 iOS 开发中 Whose view is not in the window hierarchy 错误的解决办法

在 iOS 开发当中经常碰到 whose view is not in the window hierarchy 的错误,该错误简单的说,是由于 "ViewController" 还没有被加载,就调用该 ViewController 或者 ViewController 内的方法时,就会报这个错误。 在不同地方调用 ViewController,解决的方法也不太一样。 

2017-05-22 14:21:39 1523

转载 NSString NSCFString NSCFConstantString isMemberOfClass 遇到的相关的问题

一.Toll-free bridging介绍Toll-free bridging,简称为TFB,是一种允许某些ObjC类与其对应的CoreFoundation类之间可以互换使用的机制。比如 NSString与CFString是桥接(bridged)的, 这意味着可以将任意NSString当做CFString使用,也可以将任意的CFString当做NSString使用。如下:NSStri

2017-05-19 14:58:52 1504

转载 iOS开发程序中各种变量的存储位置和程序返回变量的问题

c++内存到底分几个区?一: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块

2017-05-19 12:51:12 1427

原创 iOS Copy与MutableCopy 和 Copy与Strong 深度解析

开发中,数据处理是整个项目的重中之重,清晰的数据结构,安全高效的处理流程,能大大提高开发效率和系统的稳定性。数据是事物状态和变化的记录,具有可修改性和拷贝性,当多处使用,并有可能改变时,为了保障原数据的不变,我们需要拷贝一份新的数据,改变新的数据,而不改变原数据。数据处理中的,操作权限控制,数据的传递,数据的深、浅拷贝等。今天主要深度分析下,Copy与MutableCopy 和 Copy与Strong 区别及使用。

2017-05-17 19:40:25 2755

( The Swift Programming Language中文完整版(CocoaChina精校).pdf

最新的 swift2.1 中文版教程,cocoaChina精校版

2016-02-01

3D Touch Demo

iOS9 3D Touch 标签菜单 peek and pop force 压力触控 功能开发高级版教程 文档地址 http://blog.csdn.net/u011363981/article/details/50589754

2016-01-30

MFC操作实例

几个常用的MFC实例 很实用。很详细!你可以根据文档自己完成设计

2013-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除