![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 54
Bill-Lin
任何舒服开心的事都不会让你变得优秀
展开
-
iOS当UITableViewCell被选中或者高亮的时候,它的所有子view的颜色都会改变
UITableViewCell changes the background color of all sub views when cell is selected or highlighted.意思就是说当UITableViewCell被选中或者高亮的时候,它的所有子view的颜色都会改变。如果你不喜欢让它变透明,你可以在你的自定义UITableViewCell里重写这两个方法:原创 2016-04-29 17:15:10 · 4808 阅读 · 0 评论 -
iOS泛型
使用泛型的优点使用泛型的优点有很多:泛型提供了一个强类型的编程模型编译时的类型检查减少了运行时发生数据类型转换异常的几率简化了代码,缓解了代码膨胀。性能得到了提升,不需要在运行时再做类型检查。代码的可读性更好,并且有更好的代码智能提示。其实在最新的XCode 7.X中,苹果也悄悄地加入了Objective-C语言的弱泛型支持,见下面代码。 NSMutableArrayNS转载 2016-05-03 16:59:41 · 1275 阅读 · 0 评论 -
iOS开发 获取系统相册最后一张图片 、 截屏广播
0. 截屏广播 UIApplicationUserDidTakeScreenshotNotification1. iOS9.0以下,获取系统相册最后一张照片//#import //NS_DEPRECATED_IOS(4_0, 9_0, "Use UIImageOrientation in the Photos framework instead");A原创 2016-05-03 12:15:38 · 4397 阅读 · 0 评论 -
UITabbarController
1. 去掉tabbar顶部横线self.tabBar.barTintColor = [UIColorwhiteColor];self.tabBar.barStyle =UIBarStyleBlack;2.点击第二个item不跳转#pragma mark - UITabBarDelegate- (void)tabBar:(UIT原创 2016-03-19 15:00:58 · 328 阅读 · 0 评论 -
iOS-AVCapture,自定义实现照相功能
关于iOS调用摄像机来获取照片,通常我们都会调用UIImagePickerController来调用系统提供的相机来拍照,这个控件非常好用。但是有时UIImagePickerController控件无法满足我们的需求,例如我们需要更加复杂的OverlayerView,这时候我们就要自己构造一个摄像机控件了。 0.AVCapture 媒体采集需要的几个对象:原创 2016-02-25 18:04:40 · 9851 阅读 · 0 评论 -
iOS截屏功能
iOS的截屏功能可以将当前界面中的UI元素保存成UIImage。- (UIImage *)captureImageFromView:(UIView *)view{ CGRect screenRect = [view bounds]; UIGraphicsBeginImageContext(screenRect.size); CGCo转载 2016-02-18 17:41:46 · 1032 阅读 · 0 评论 -
UIWindow
通常一个程序中只会有一个UIWindow,但有些时候我们调用系统的控件(例如UIAlertView)时,iOS系统为了保证UIAlertView在所有的界面之上,它会临时创建一个新的UIWindow,通过将其UIWindow的UIWindowLevel设置的更高,让UIAlertView盖在所有的应用界面之上。UIWindow和UIView不同,UIWindow一旦被创建,它就转载 2016-02-16 15:20:59 · 295 阅读 · 0 评论 -
动态下载系统提供的多种中文字体
从iOS6开始,苹果开始支持动态下载官方提供的中文字体到系统中。使用苹果官方提供的中文字体,既可以避免版权问题,又可以节省应用体积。该方案适合对有较多需求的应用。 使用动态下载中文字体的API可以动态地向iOS系统中添加字体文件,这些字体文件都是下载到系统的目录中(目录是/private/var/mobile/Library/Assets/com_apple_MobileAss原创 2016-02-16 15:15:22 · 1185 阅读 · 0 评论 -
iOS应用在后台长久运行
在以前,当应用被按Home键退出后,应用仅有5秒钟的时间做一些保存或清理资源的工作。但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让应用最多可以有10分钟的时间在后台长久运行。这个时间可以用来做清理本地缓存、发送统计数据等工作。// AppDelegate.h@property转载 2016-02-15 19:21:38 · 933 阅读 · 0 评论 -
iOS机型
#include #include #include -(NSString*)getDeviceVersion{ struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:system原创 2016-05-03 21:05:51 · 657 阅读 · 1 评论 -
UIMotionEffect和Home页背景视差效果
当你打开装有iOS7以上的iPhone主屏,默认的背景是一幅蓝色的星空图片。当上下左右翻转iPhone时,有趣的效果将会出现,星空背景也会沿着各个方向发生位移,这与主屏上的各个App Icon形成了一种独特的视差效果。这不是iOS系统本身独有的。在iOS7之前,这种效果需要陀螺仪相关API的支持,实现起来也比较复杂。而在iOS7以后,系统提供了这样的API,大大简化了实现方案。0.转载 2016-05-04 21:18:16 · 485 阅读 · 0 评论 -
iOS中UITextField的字数限制 emoji被截断问题
在开发中, 有些时候会碰到这样的需求: 希望输入框有最大字数限制. 比如, 用户昵称长度限制, 评论最大字数限制.刚开始的时候, 采用的是shouldChangeCharactersInRangehttp://stackoverflow.com/questions/433337/set-the-maximum-character-length-of-a-uitextfield转载 2016-04-20 15:05:24 · 1053 阅读 · 0 评论 -
ios开发之View属性hidden, opaque, alpha, opacity的区别
一、alpha液晶显示器是由一个个的像素点组成的,每个像素点都可以显示一个由RGBA颜色空间组成的一种色值。其中的A就表示透明度alpha,UIView中alpha是一个浮点值,取值范围0~1.0,表示从完全透明到完全不透明。1、alpha值只会影响自己,不会影响subView的背景颜色。2、alpha设为空之后,UIView不会从响应者链中移除,仍然可以收到event。原创 2016-05-06 11:52:47 · 9303 阅读 · 0 评论 -
iOS之访问权限
从ios7开始,用户可以在设置->隐私->中开启或关闭某些系统权限,比如访问相册,相机 ,通讯录,地图,麦克风等。因此,在我们的程序中,如果要访问系统的某些功能,则最好判断一下权限是否开启。否则用户不能正常使用,也一头雾水,还以为程序出错了。访问摄像头:需要导入#import [objc] view plain copy转载 2016-05-09 14:50:27 · 581 阅读 · 0 评论 -
iOS开发企业版ipa分发
前言本人公司开发的.ipa发布于 AppStore 和自己的服务器上。但是自己却一直没时间利用公司的资源进行研究。现在赶紧趁热打铁,记录一下,以便以后查阅。在此之前,在网上查阅了相关资料并整理了一下加以完善更正。背景网上说Xcode 6之后版本导出企业.ipa包需要手动添加.plist文件,本人今天亲自测试了一遍,发现Xcode 7之后又可以配置生成的。在这里我按照我的流程走一转载 2016-08-10 10:43:31 · 695 阅读 · 1 评论 -
没有苹果开发账号,只有p12文件和mobileprovision文件进行打包
要在别的电脑使用别人的苹果帐号打包app,需要两个文件:●该证书导出的“.p12”文件●苹果开发者帐号中与“证书”对应的“描述文件”如何安装到mac电脑:1、将p12文件双击,会自动打开“钥匙串”工具,输入p12密码2、双击.mobileprovision描述文件,会自动安装到xcode中在xcode中分别选中原创 2016-08-10 10:32:48 · 12033 阅读 · 1 评论 -
iOS-图片两边拉伸,中间保持不变
一般聊天气泡图片拉伸结果是这样的:但是如果要求箭头再中间, 表示对某事物的说明, 就会很难实现:我的实现方法如下, 需要两次拉伸, 第一次拉伸后需要保存图片. 需要注意的只是:1.保存图片2.计算第一次拉伸的宽度:第一次拉伸宽度=最终宽度/2+原图宽度/23.如果原图箭头不在正中间, 不适用这个计算公式, 我的原图就是偏的, 所以结果有点转载 2016-08-01 10:43:05 · 3408 阅读 · 0 评论 -
通过tcpdump对iOS进行流量分析(无需越狱)
一、创建远程虚拟接口Remote Virtual Interface (RVI)iOS上抓包的方法主要有:1. Wifi共享,然后通过fiddler、charles等可视化抓包工具。可以设置mac进行wifi共享,或者使用360随身wifi等工具;2. 设置wifi的HTTP代理,然后通过可视化抓包工具;3. RVI方法;下面就介绍RVI方法,该方法适用于iOS5.0以上设备,需要转载 2016-07-07 16:24:59 · 1610 阅读 · 0 评论 -
iOS中AutoLayer自动布局流程及相关方法
关于UIView的Layer,IOS提供了三个方法:1、layoutSubviews在iOS5.1和之前的版本,此方法的缺省实现不会做任何事情(实现为空),iOS5.1之后(iOS6开始)的版本,此方法的缺省实现是使用你设置在此view上面的constraints(Autolayout)去决定subviews的position和size。 UIView的子类如果需要对其subv转载 2016-05-10 12:27:51 · 410 阅读 · 0 评论 -
iOS网络请求NSURLSession
NSURLSession是iOS7中新的网络接口。NSURLSession提供的功能:通过URL将数据下载到内存通过URL将数据下载到文件系统将数据上传到指定URL在后台完成上述功能 NSURLSession工作流程:1.创建一个NSURLSessionConfiguration,用于第二步创建NSSession时设置工作模式原创 2016-01-12 14:31:16 · 832 阅读 · 0 评论 -
iOS网络请求NSURLConnection
注意事项:1.如果网址中存在中文,进行URLEncodeNSString *newUrlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];一些理论知识:1. GET请求和POST请求的区别1.1 GET请求的接口会包含原创 2016-01-12 14:28:32 · 385 阅读 · 0 评论 -
CGContextRef用法
quartz 是主要的描画接口,支持基于路径的描画、抗锯齿渲染、渐变填充模式、图像、颜色、坐标空间变换、以及PDF 文档的创建、显示、和分析。UIKit 为Quartz 的图像和颜色操作提供了Objective-C 的封装。Core Animation 为很多UIKit 的视图属性声明的动画效果提供底层支持,也可以用于实现定制的动画。在调用您提供的drawRect:方法之前,视图对转载 2016-01-05 14:32:00 · 274 阅读 · 0 评论 -
NSSearchPathForDirectoriesInDomains
1.iPhone会为每一个应用程序生成一个私有目录,这个目录位于:/Users/sundfsun2009/Library/Application Support/iPhone Simulator/User/Applications下,并随即生成一个数字字母串作为目录名,在每一次应用程序启动时,这个字母数字串都是不同于上一次。所以通常使用Documents转载 2015-08-06 14:30:19 · 336 阅读 · 0 评论 -
iOS学习笔记-LocalAuthentication
LocalAuthentication是用来实现iOS中的指纹识别的,自从iPhone5s加入TouchID后,LocalAuthentication也越来越受到关注。LocalAuthentication以LAContext的方式工作,先用canEvaluatePolicy:error:方法判断机器是否具有指纹识别的功能,再用evaluatePolicy:localizedReason:re原创 2015-07-10 18:47:28 · 1961 阅读 · 0 评论 -
iOS打包相关--遇到的问题
1.当遇到这个问题时实在不能解决的解决办法:进入keychain,然后点击我的证书中,把iPhone Developer:****这样的证书删掉。登录developer.apple.com,选择Certificates下的All,把自己的iOS Development证书下载到本地,然后双击进入keychian选择Provisioning原创 2015-05-15 18:56:50 · 1157 阅读 · 0 评论 -
iOS打包相关
1.Certificate:用于给应用程序签名(只有签名过得应用程序才能保证其来源是可信任的,代码是完整的,未经修改的),在项目的 Targets ----> Build Settings ----> Code Signing ----> Identity里面指定。我们如何给应用程序签名:申请Certificate之前需要申请一个Certificate Signing Reque原创 2015-05-15 18:21:17 · 370 阅读 · 0 评论 -
Time Profiler的使用
Time Profiler可以用来测量时间的间隔,中断程序执行,跟踪每个线程的堆栈。启动Time Profiler: Product - Profile就会出现下面这个界面点击Time Profiler,就会出现下面这个界面,然后点击红色的按钮,启动程序启动Time Profiler后的界面如下:对于选项面板中得各项配置选项:1.Separa原创 2015-02-03 14:47:37 · 1430 阅读 · 0 评论 -
iOS调试:file not found
ld: file not found: /Users/wenbornyan/Library/Developer/Xcode/DerivedData/YBLLingDaoChaXun-dhjlwbnzyhdraobsdribzpacamkh/Build/Products/Debug-iphoneos/YBLLingDaoChaXun.app/YBLLingDaoChaXun发生这个错误是原创 2015-01-26 10:49:58 · 1234 阅读 · 0 评论 -
iOS真机调试时更新证书错误:No matching provisioning profiles found
iOS真机调试时更新证书错误:No matching provisioning profiles found在Xcode中当你在更新了你得证书而再重新编译你的程序,真机调试会出现“Your build settings specify a provisioning profile with the UUID‘XXX’, however, no such provisioning profile原创 2015-01-20 11:43:14 · 519 阅读 · 0 评论 -
CoreTelephony运营商信息
CoreTelephony是苹果提供的用来访问用户的移动服务提供商的信息,比如它的唯一标识符,以及是否允许VoIP通话。获取当前通过的id以及状态。CoreTelephony在iOS7之前是私有API,在iOS7之后苹果公开了CoreTelephony。 https://developer.apple.com/reference/coretelephony1.可以用CoreTe原创 2016-09-19 18:50:03 · 487 阅读 · 0 评论 -
NSNumberFormatter的使用
通过NSNumberFormatter,可以设置NSNumber输出的格式。NSNumberFormatter *formatter = [[NSNumberFormatteralloc] init];formatter.numberStyle =NSNumberFormatterNoStyle;NSString *string = [formatterst原创 2015-08-15 14:32:07 · 548 阅读 · 0 评论 -
GCD实现计时器
dispatch_source_t _timer;// 必须创建成全局变量,否则执行一次就会被release掉。 __block int n =0; _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,0, 0,dispatch_get_main_queue());原创 2015-10-12 15:05:36 · 1997 阅读 · 0 评论 -
IOS后台运行 之 后台播放音乐
iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了。如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,AvPlayer播放的话,要实现完美的后台音频播放,依据app的功能需要,可能需要实现几个关键的功能。首先,播放音频之前先要设置AVAudioSession模式,通常只用来播放的App可以设为AV转载 2015-12-02 10:14:29 · 854 阅读 · 0 评论 -
使用CocoaPods来管理iOS项目的依赖库
原文地址:http://blog.devdong.com/blog/2013/12/28/shi-yong-cocoapodslai-guan-li-iosxiang-mu-de-yi-lai-ku/前言细细算来,我接触iOS已经有1.5f年的时间了,虽然其中有差不多一年的时间是在大四经历自学和实习的这个阶段。抛去那段时间不算,毕业后在现在的公司工作差不多半年了…转载 2015-11-24 16:12:31 · 377 阅读 · 0 评论 -
在Mac OS X上安装 Ruby运行环境 CocoaPods安装和使用教程
对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。此安装方法同样适用于产品环境!系统需求首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用:Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ..转载 2015-11-20 10:01:15 · 464 阅读 · 0 评论 -
iOS - 音乐 AVFoundation.framwork
如果播放较大的音频或者要对音频有精确的控制则System Sound Service可能就很难满足实际需求了,通常这种情况会选择使用AVFoundation.framework中的AVAudioPlayer来实现。AVAudioPlayer可以看成一个播放器,它支持多种音频格式,而且能够进行进度、音量、播放速度等控制。首先简单看一下AVAudioPlayer常用的属性和方法:转载 2015-11-13 10:48:10 · 467 阅读 · 0 评论 -
iOS - 音效 AudioToolbox.framework
AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service)。System Sound Service是一种简单、底层的声音播放服务,但是它本身也存在着一些限制:音频播放时间不能超过30s 数据必须是PCM或者IMA4格式 音频文件必须打包成.caf、.aif、.wav中的一种(注意这是官原创 2015-11-12 18:00:46 · 1138 阅读 · 0 评论 -
iOS9 - 自定义URL Scheme完成应用间的跳转
iPhone/iOS SDK 最酷的特性之一就是应用将其自身“绑定”到一个自定义URL Scheme上,该Scheme用于从浏览器或其他应用中启动本应用。(在应用一中打开应用二)应用二:在应用二中注册自定义URL SchemeURL Schemes 是一个数组,运行应用定义多个 URL Scheme。key Item0的value就是你自定义的url,此时你原创 2015-10-23 17:24:39 · 6556 阅读 · 0 评论 -
iOS - 闪关灯
- (void)turnTorchOn:(BOOL)on{// lockForConfiguration跟unlockForConfiguration是配对的API// 呼叫lockForConfiguration就可以控制硬件了// 控制完毕后要呼叫unlockForConfiguration Class captureDevice原创 2015-10-22 19:18:14 · 301 阅读 · 0 评论 -
iOS - 二维码扫描
方法一:iOS7以上可以使用系统自带的: AVCaptureSession #import #import #import #import 要用到以上四个系统库,可以直接导入 #import 要实现AVCaptureMetadataOutputObjectsDelegate>协议{ AVCaptureSession原创 2015-10-22 18:38:42 · 438 阅读 · 0 评论