![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS开发
文章平均质量分 63
enuola
这个作者很懒,什么都没留下…
展开
-
flutter doctor报错:✗ Unable to find bundled Java version.
运行`flutter doctor时报错:Unable to find bundled Java version.原创 2023-03-08 18:21:30 · 1077 阅读 · 1 评论 -
M1芯片:cocoapods安装后kernel_require.rb:54:in `require‘报错
设备:MacBook2023款 M2Pro芯片cocoapods版本:1.9.3。原创 2023-03-01 16:21:55 · 260 阅读 · 0 评论 -
pod update报Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[],解决方案
在工程里面进行`pod update`的时候,报如下错误:### Error```RuntimeError - [!] Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellS...原创 2019-12-20 18:16:36 · 1230 阅读 · 2 评论 -
iOS音频AVAudioSession相关设置
1. AVAudioSessionAVAudioSession,是用来管理多个APP间对音频硬件设备(麦克风,扬声器)的资源使用。举例一下AVAudioSession可以做这些事情设置自己的APP是否和其他APP音频同时存在,还是中断其他APP声音 在手机调到静音模式下,自己的APP音频是否可以播放出声音 电话或者其他APP中断自己APP的音频的事件处理 指定音频输入和输出的设备...原创 2019-11-22 14:44:57 · 1850 阅读 · 0 评论 -
IOS中关于NSTimer使用知多少
看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗? 我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到runloop中才会起作用吗?你知道NSTimer会并不是准确的按照你指定的时间触发的吗?你知道NSTimer就算添加到runloop了也不一定会按照你想象中的那样执行吗? 如果上面提原创 2013-06-24 17:30:54 · 24301 阅读 · 6 评论 -
根据字体多少使UILabel自动调节尺寸
在大多属性情况下,给UILabel进行动态数据绑定的时候,往往需要根据字符串的多少,动态调整UILabel的宽度或高度。下面分两种情况考虑:1、UILabel宽度不变,根据字体多少,自动调整UILabel的高度,并折行显示。代码如下: UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, 200,原创 2013-01-31 14:47:30 · 45023 阅读 · 9 评论 -
IOS中UITableView异步加载图片的实现
最近做一个项目,需要用到UITableView异步加载图片的例子,看到网上有一个EGOImageView的很好的例子。但是由于,EGOImageView的实现比较复杂,于是自己就动手做了一个AsynImageView,同样可以实现EGOImageView的效果。而且自己写的代码比较清晰,容易理解,同样可以实现指定placehoderImage以及指定imageURL,来进行图片的异步加载原创 2013-03-05 20:32:06 · 32347 阅读 · 12 评论 -
CALayer层和动画
动画有两种基本类别:视图动画:当你想给用户界面一个视觉提醒时,主要使用这个动画。层动画: 这个在应用内容和功能性上普遍使用。层不能接受像点击、按下等事件。在核心动画中,时间无处不在。比如当需要一个层有动画属性时,比如动画时长、如何动、是否需要返回到初始值等等。这些值不能被层本身指派,而是在CAAnimation这个对象或者它的子类中,CABasicAnimation、CAKe原创 2013-02-28 19:47:07 · 1940 阅读 · 0 评论 -
UIDevice获取设备数据以及如何获取应用信息
在IOS的APP的应用开发的过程中,有时候需要自动收集用户设备、系统信息、应用信息等等。 比如在在app中加入收集用户反馈功能,不仅用户的反馈能够提交到服务器,包括上述信息同时也自动提交到服务器。对用户反馈bug特别有用。下面是他们的获取方法://设备相关信息的获取 NSString *strName = [[UIDevice currentDevice] name];原创 2013-02-28 11:09:49 · 8773 阅读 · 0 评论 -
NSAutoreleasePool的release和drain的区别
关于NSAutoreleasePool的release和drain的区别苹果官方文档的翻译In a garbage collected environment, release is a no-op. NSAutoreleasePool therefore provides a drain method that in a reference-counted environment b转载 2013-03-12 17:19:26 · 4598 阅读 · 0 评论 -
IOS中 Block简介与用法(一)
Block简介:Block的实际行为和Function很像,最大的差别是在可以存取同一个Scope的变量值。Block实体形式如下:^(传入参数列){行为主体};Block实体开头是“^”,接着是由小括号所包起来的参数列(比如 int a, int b, int c),行为主体由大括号包起来,专有名字叫做block literal。行为主体可以用return回传值,类型会被compil原创 2013-03-14 18:12:38 · 113646 阅读 · 13 评论 -
ios的手势操作之UIGestureRecognizer浅析
iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (voi转载 2012-12-13 17:06:47 · 1861 阅读 · 0 评论 -
触摸事件UITouch的用法
触摸屏幕是iOS设备接受用户输入的主要方式,包括单击、双击、拨动以及多点触摸等,这些操作都会产生触摸事件。在Cocoa中,代表触摸对象的类是UITouch。当用户触摸屏幕后,就会产生相应的事件,所有相关的UITouch对象都被包装在事件中,被程序交由特定的对象来处理。UITouch对象直接包括触摸的详细信息。UITouch类中包含5个属性: window: 触摸产生时原创 2012-12-13 16:49:01 · 20486 阅读 · 1 评论 -
草稿FMDB
//// UserManager.m// ChiHuo//// Created by administrator on 12-8-28.// Copyright (c) 2012年 lxn. All rights reserved.//#import "UserManager.h"#import "AppDelegate.h"#import "U原创 2012-11-21 21:39:13 · 1391 阅读 · 0 评论 -
iOS平台XML解析类库对比和安装说明
在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢?解析 XML 通常有两种方式,DOM 和 SAX:DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历转载 2012-11-21 11:24:19 · 1069 阅读 · 0 评论 -
KVO(NSKeyValueObserving)、KVC(NSKeyValueCoding)作用浅谈
在很多时候接触到很多地方都有对KVC,KVO的描述,但是都是一笔带过.只知道这是Object-C提供的一个不错的机制,可以很好的减少浇水代码。 其实KVC、KVO即NSKeyValueCoding和NSKeyValueCoding的简称。 在官方文档中描述为 那我们KVO、KVC用来做什么的我们又怎么使用它呢? 首先我们先了解下KVO的机制 KVO:当转载 2012-11-11 13:11:19 · 1509 阅读 · 0 评论 -
Objective-C内存管理教程和原理剖析(三)@property (retain)和@synthesize的默认实现
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。 版本 1.1 发表于2010-03-08 三 @property (retain)和@synthesize的默认实现在这里解释一下@prop转载 2012-11-11 12:53:22 · 1436 阅读 · 0 评论 -
IOS开发之──事件响应
事件出现在iphone上有三种主要方式:通过动作、通过委托事件、通过通知。 iphone事件响应来自于UIResponder对象,而iphone通知来自于NSNotificationCenter。不必担心如何访问响应者的方法和属性,因为UIResponder对象是多数UIKit对象的父级,但是NSNotificationCenter却需要特殊访问。 一、事件和动作转载 2012-11-10 11:39:11 · 2149 阅读 · 0 评论 -
强大的HTTP包装开源项目ASIHTTPRequest介绍
ASIHTTPRequest 是一个直接在CFNetwork上做的开源项目,提供了一个比官方更方便更强大的HTTP网络传输的封装。它的特色功能如下:1,下载的数据直接保存到内存或文件系统里2,提供直接提交(HTTP POST)文件的API3,可以直接访问与修改HTTP请求与响应HEADER4,轻松获取上传与下载的进度信息5,异步请求与队列,自动管理上传与下载队列管理机6,认转载 2012-11-11 21:44:00 · 1584 阅读 · 0 评论 -
Objective-C内存管理教程和原理剖析(一)(autorelease与release)
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com/,且必须包含此版权声明的完整内容。版本 1.0 发表于2010-03-08前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不转载 2012-11-11 12:37:47 · 5100 阅读 · 1 评论 -
自动检测iOS网络并可跳转至设置界面设置网络
若不想写繁琐的网络状况判断代码,并且应用程序能自动在无网络时弹出可跳转到系统设置页面的对话框,那么可以考虑这么做。在项目中相应的**info.plist文件中增加一个关键字:SBUsesNetwork应用程序就会自动检测网络状况,在网络异常的情况下,会弹出网络设置对话框提醒用户是否进行网络设置,并且可以跳转至系统设置中进行昂立设置。其实在IOS5.1+之后,苹果就删原创 2012-11-10 15:42:55 · 17158 阅读 · 3 评论 -
IOS如何使用第三方字体
1、从网上下载所需字体的TTF文件。将字体所对应的TTF文件拖入项目中。2、然后在info.plist中添加一个新的键Fonts provided by application, NSArray类型的, 在其对应的item里面的string值为**.TTF,如图:3、接下来就是要知道对应字体的名字FontName了。一个字体文件包括以下几个内容:文件名、字体名称、字体具体名称,我们原创 2013-04-10 17:35:34 · 10361 阅读 · 1 评论 -
iOS调用becomeFirstResponder失效,键盘换不起来问题
问题:当有UIAlertViewat弹出后,想要通过becomeFirstResponder使textfield定位光标并调起键盘。但事实是:只有光标定位,并没有唤起键盘。原因:UIAlertView弹窗过程中,或者自定义的window初始化过程中,抢占了系统window成为keyWindow。解决办法:当键盘消失后(稍微延时一下,防止键盘还没有彻底消失),修改keyin...原创 2019-07-16 18:45:22 · 5866 阅读 · 0 评论 -
IOS中定时器NSTimer的开启与关闭
调用一次计时器方法:myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO];//不重复,只调用一次。timer运行一次就会自动停止运行重复调用计时器方法:timer = [NSTim原创 2012-10-22 16:58:14 · 185939 阅读 · 30 评论 -
UITableVIew 滚动流畅性优化
影响UITableViewUITableView滚动的流畅性原因:1、 在代理方法中做了过多的计算占用了 UI 线程的时间2、同上3、Cell 中 view 的组织复杂,比如使用layer并不会有太大影响,但是如果layer使用了透明,或者圆角、变形等效果,就会影响到绘制速度。关于第一点,首先要明白 tableview 的代理(这里指 datasource 和 dele原创 2014-12-15 14:17:17 · 3084 阅读 · 2 评论 -
UIMenuController 和 UIResponderStandardEditActions
UIMenuController通常负责向用户显示一个“编辑”菜单。当按住一个UITextField或者UITextView不松手的时候,会弹出一个默认的UIMenuController,包含Cut、Copy和其他选项。每一个选项都有一个Action消息与其连接。默认的菜单样式如下:所有的继承自UIResponder的类都包含这这个菜单,这些方法在UIResponderStandard原创 2015-01-06 13:30:59 · 3687 阅读 · 2 评论 -
IOS中scrollsToTop问题小结
scrollsToTop小结UIScrollView是用来展示滚动的一个类。他有UITableView、UITextView等子类,scrollsToTop是UIScrollView的一个属性,主要用于点击设备的状态栏时,是scrollsToTop == YES的控件滚动返回至顶部。每一个默认的UIScrollView的实例,他的scrollsToTop属性默认为YES,所原创 2014-06-19 16:16:16 · 24978 阅读 · 2 评论 -
XCode的 Stack Trace,调试时抛出异常,定位到某一行代码
在Xcode调试程序的时候,总是会出现不知道错误在什么地方的问题,很是捉急,现在又一个办法,可以具体定位到错误行的代码,试一下吧?超级好用操作很简单:1、在XCode界面中按cmd + 6快捷键,或者直接点击选项卡,跳到Breakpoint的tab2、然后点击左下角的+号,增加一个Exception的断点,如下图所示。3、接下来会出现一个“All Exception原创 2014-01-02 18:17:28 · 17288 阅读 · 4 评论 -
iOS 协同开发出fatal error: file 'XX-Prefix.pch' has been modified since the precompiled header was built
在协同开发的时候,刚刚从svn下载到本地的代码,出现“fatal error: file 'XX-Prefix.pch' has been modified since the precompiled header was built”的问题,这个其实不是什么问题,解决方案如下:1、找到 XX-Prefix.pch 文件 注释掉下面的代码:#ifdef __OBJC__原创 2013-10-09 14:09:28 · 6494 阅读 · 1 评论 -
在Linux/Mac下面删除所有的.svn文件
在使用svn管理代码的时候,如果提交原有的svn管理下的project到新的svn目录下时,需要先删除原有的文件夹里面的所有的.svn文件下面的所有内容,否则直接提交会导致失败。注意:最好先拷贝一个新的项目,然后删除备份文件夹下面的.svn文件。以免原有的svn项目有未提交的代码,导致文件不能提交,造成丢失等。下面这种方法可以简单的使用终端删除所有的.svn文件。1、首先先定位到你原创 2013-10-09 10:54:01 · 13410 阅读 · 0 评论 -
IOS中欢迎界 Default.png 详解
1:什么是Default.png 当我们点击一个应用的Icon时,首先出现的一张图片就是你的应用中一张默认为Default.png的图片。当然如果你的应用里没有,则会显示黑屏,直到程序启动结束。所以为了更好的用户体验,还是推荐加上这张图片。让用户点击了Icon后能立刻得到反馈。 2:Default.png的格式 其实你可以放进去任意的图片,只要名字正确。但是它原创 2013-08-28 15:10:31 · 3993 阅读 · 0 评论 -
IOS推送通知的实现步骤
一.关于推送通知推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能。是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的。一般说来,当要显示消息或下载数据的时候,通知是由远程服务器(程序的提供者)发送,然后通过苹果的推送通知服务(Apple Push Notification Service,简称apns)推送到设备的程序上。推转载 2013-03-01 19:17:24 · 21541 阅读 · 9 评论 -
IOS屏幕3.5寸和4寸屏幕适配 之 适配ios6转屏
今天Boss跟我说,要我准备去适配ios6,于是我去鸟哥的博客看了下,然后有请教了别人,但是没达到效果,一直不知道问题在哪,后来看文档,google才发现问题关键所在。现在大致说下: 在ios6.0中shouldAutorotateToInterfaceOrientation:不再起作用了,ios使用shouldAutorotate和supportedInterfaceOrie转载 2013-08-07 15:53:51 · 8543 阅读 · 1 评论 -
IOS中Socket详解
一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议 对应于应用层 tcp协议 对应于传输层原创 2013-07-26 10:10:32 · 3896 阅读 · 2 评论 -
使用IOS的嵌入式SQLite3
一、SQLite3简介 SQLite3在存储和检索大量数据方面非常有效,它还能够对数据进行复杂的聚合,与使用对象执行这些操作相比,获得结果的速度更快。 例如,如果应用程序需要计算应用程序中所有对象中特殊字段的总和,或者如果需要只符合特定条件的对象的总和,SQLite3将可以执行该操作,而不需要将每个对象加载到内存中。从SQLite3获取聚合比将所有对象加载到内存原创 2013-06-27 16:05:02 · 3648 阅读 · 3 评论 -
IOS后台运行机制详解(二)
(温馨提示:亲,请先看上篇,此文乃下篇)三、IOS长时间后台运行的实现代码1、检查设备是否支持多任务Apple出于性能的考虑,并不是所有的iOS设备升级到iOS4以后都支持多任务,比如iPhone 3G。如果你的应用在没有多任务特性时会出问题,为了保持应用的健壮性,你应该对此进行判断并处理。你可以通过调用UIDevice对象的multitaskingSupported属性来获取原创 2013-06-21 22:33:14 · 24481 阅读 · 2 评论 -
IOS后台运行机制详解(一)
一、IOS的“伪后台”程序首先,先了解一下iOS 中所谓的「后台进程」到底是怎么回事吧?Let me be as clear as I can be: the iOS multitasking bar does not contain "a list of all running apps". It contains "a list of recently used apps". The原创 2013-06-21 22:22:18 · 56609 阅读 · 1 评论 -
Objective-C内存管理教程和原理剖析(四)系统自动创建新的autorelease pool
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com/,且必须包含此版权声明的完整内容。版本 1.1 发表于2010-03-08 四 系统自动创建新的autorelease pool在生成新的Run Loop的时候,系统会自动创建新的au转载 2012-11-11 12:53:44 · 1435 阅读 · 0 评论 -
Objective-C内存管理教程和原理剖析(二)口诀与范式
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。 版本 1.1 发表于2010-03-08 二 口诀与范式1 口诀。1.1 谁创建,谁释放(类似于“谁污染转载 2012-11-11 12:43:45 · 1683 阅读 · 1 评论 -
NSString 和 NSMutableString这两类的方法列表
适用于NSString 和 NSMutableString这两类的方法。 适用于 NSString类型的物件,下面的表格总结了比较常用的一些:措施名称作用+(id)stringWithContentsOfFile:path encoding:enc error:err用文件path的内容和字符编码enc创建一个新的字符串,err存储原创 2012-08-15 13:33:05 · 2061 阅读 · 0 评论