
iOS
文章平均质量分 62
iOS--九零猴
iOS 即时通讯开发 旅游 交友QQ:983202699。努力的做一个懂程序懂产品懂设计的互联网人!
展开
-
ios 代码细节问题
1.透明度问题:在设置UIView *bgView的透明度的时候,使用alpha = 0.85 的方法,会使整个bgView上的每一个View都会变成透明。解决这种问题的最好方案是:_bgView.backgroundColor = [UIColorcolorWithRed:0/255.0green:0/255.0blue:0/255.0alpha:0.7];原创 2015-04-14 23:03:02 · 411 阅读 · 0 评论 -
ios 界面三级回跳 ——代理回调
1.界面跳转对代理的理解IOS 界面跳转假设有 controller A 、B、C :逻辑结构是:A preset B, B present C ,现在项目需求是由C直接跳转到A。类似的问题是:A为在主页面,B为登录界面,C为三方登陆界面,当三方登陆界面登陆成功之后,需要由C直接返回到A界面。解决方案:使用代理(当然block也一样,代理看的更加清晰)逻辑结构是:C 登陆原创 2015-04-15 22:40:20 · 1022 阅读 · 0 评论 -
iOS CGBitmapContextCreate函数
CGBitmapContextCreate函数参数详解函数原型:CGContextRef CGBitmapContextCreate ( void *data, size_t width, size_t height, size_t bitsPerComponent, size_t bytesPerRow, CGColorSp转载 2015-04-22 11:08:25 · 1284 阅读 · 0 评论 -
ios 获取各种文件目录路径的方法
ios 文件目录在开发中最为常用(一)1.ios的沙盒目录中有四个文件分别是:Documents ,tmp ,app,library;注意NSUserdefault存放在tmp文件中2.Documents 应该将所有的应用数据存放到该文件目录下,这个目录用于存放用户的数据,和定期备份的文件。3.Tmp 文件目录有两个子目录caches 和presfrence.prefrence 包原创 2015-04-20 23:01:17 · 781 阅读 · 0 评论 -
ios UIScrollView偏移问题的解决方案
在写项目的时候有时候我们会遇到这样的问题的:ScrollView作为界面盛放其他的View的Scroll回向下偏移64哥像素:解决这类问题的方案:1.在ios 7以前在ViewController的init 里面添加:self.automaticallyAdjustsScrollViewInsets = NO;2.在ios8之后使用观察者模式: [_scrollView原创 2015-04-19 10:23:00 · 1071 阅读 · 0 评论 -
系统键盘在ios7 ios8上不同效果
今天写项目的时候遇到一个问题:从A界面推出B界面,B界面的textField编辑完成之后,向服务器发送编辑数据之后,成功之后弹出成功的系统提示框。代码如下://B界面的textfiled编辑完成点击okButton:但这种情况在ios7 中没有出现,在ios8以上会出现:- (void)OKButtonBeclick{ __weakVFeedbackViewCon原创 2015-04-16 22:02:48 · 481 阅读 · 0 评论 -
ios 观察者模式
什么是观察者模式?我们先打个比方,这就像你订报纸。比如你想知道美国最近放生了些新闻,你可能会订阅一份美国周刊,然后一旦美国有了新的故事,美国周刊就发一刊,并邮寄给你,当你收到这份报刊,然后你就能够了解美国最新的动态。其实这就是观察者模式,A对B的变化感兴趣,就注册为B的观察者,当B发生变化时通知A,告知B发生了变化。这是一种非常典型的观察者的用法,我把这种使用方法叫做经典观察者模式。当然与转载 2015-04-19 10:49:01 · 666 阅读 · 0 评论 -
ios 取到button的文字位置
ios button的文字位置:方法有21.button.titlteLabel.frame.origin.y 但这种方法在xcode6.3 的编译器中titleLabel.frame.origin.x = 0;也就是titleLabel的起始位置不再是文字的位置,而是button的0坐标。所以这种方案随着xcode6.3 编译器的出现,获取文字位置会出现错误。方案2:先求出button文原创 2015-04-16 22:19:09 · 1924 阅读 · 0 评论 -
ios 分页显示
ios 分页显示一般分为:下拉刷新与上拉加载使用分页显示的原因是一次向服务器发送的请求数目太大,服务器的压力太大,为了减小服务器的压力,同时优化网络请求,就可以采用分页显示。一般采用的三方库为:XHRefreshControl EGORefresh等一般实现这些控件的代理即可。1.下拉刷新的原理将之前的数据从数组或字典中删除,然后使用将获取的新数据添加到数组或字典中;然后原创 2015-04-28 22:52:53 · 1225 阅读 · 0 评论 -
ios 时间类转化为字符串
// NSString* timeStr = [self stringWithDate: [NSDate dateWithTimeIntervalSince1970:userGifGrouptEntity.lastGiftSentTime / 1000]]- (NSString *)stringWithDate:(NSDate *)date { if (date == n原创 2015-05-26 22:37:20 · 1087 阅读 · 0 评论 -
iOS 中划线
NSString *marketPriceStr = @"Market price: 1234"; NSRange range = [marketPriceStrrangeOfString: @"1234"]; NSMutableAttributedString *attrStr = [[NSMutableAttributedStringalloc]initWi原创 2015-06-18 16:55:07 · 862 阅读 · 0 评论 -
iOS 开发-理解Certificate、AppId和Provisioning Profile
之前被证书折腾的死去活来的,现在懂了点。mark下一些相关知识。今天先介绍下Certificate、AppId和Provisioning Profile。参考博文:ios学习之 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系当你准备进行真机测试或者发布应用到App Store上去的时候, 免不了要申请相转载 2015-05-18 14:09:22 · 550 阅读 · 0 评论 -
No codesigning identities found matching the provided provisioning profile jin
今天自己独立的解决了好几个问题,很开心。第一个就是关于证书的问题:之前项目经理让我们把/user/Vicky/Library/MobileDevice/Provisioning Profiles 清空,在安装最新的证书;但是安装的过程中,总是会出现这样的error:1.No codesigning identities(i.e. XXX) found matching the原创 2015-05-18 21:30:54 · 954 阅读 · 3 评论 -
清除所有的mobileprovision
清除所有的mobileprovision通过终端进行删除首先cd到目录”~/Library/MobileDevice/Provisioning\ Profiles”cd ~/Library/MobileDevice/Provisioning\ Profiles/然后删除里面所有的mobileprovision文件rm *.mobileprovision恢复需转载 2015-05-18 18:52:20 · 713 阅读 · 0 评论 -
NSScanner类的基本用法
NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串。可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符串的每个字符。 创建一个Scanner NSScanner是一个类族, NSScanner是其中公开的一类。通常,可以用scannerWithString:或localizedScan转载 2015-05-18 20:33:05 · 554 阅读 · 0 评论 -
iOS .ipa文件的生成与使用
iOS .ipa文件的生成与使用如果想要将做的iOS应用程序装到自己的iOS设备上测试、或者装在别人的iOS设备上,或者想发布到App Store里,先要给应用签名。签名就要有证书,这就需要申请证书的过程了。把自己的应用程序装到设备中,主要有以下几种方式:① 把iOS设备与电脑连起来,这样在Xcode的左上角就可以选择这个设备,之后直接点击Run,程序就被装在这个iOS设备了。这个主要原创 2015-05-18 22:00:41 · 1184 阅读 · 0 评论 -
ios 控制button点击事件的触发频率
在项目中常常会遇到这样的问题:button点击就会触发相应的点击事件,比如说是向向服务器发送网络请求或者弹出弹框。但如果用户点击频率很快的话,那就会不停的触发点击事件,从而使UI错乱。对于这种问题我的解决方案是:设置布尔值。(1)对于与服务器有交互的点击事件:点击的时候判断bool值;在发送请求前设置一次;服务器得到应答后改变bool值即可。(2)对于无服务器交互点击事件:点击原创 2015-05-18 21:45:51 · 1466 阅读 · 0 评论 -
ios 的navigationBar
在项目开发中常常会遇到各种奇葩的需求,尤其是要修改系统的按钮的时候。这里我总结一下平时修改过的导航条的item,自定义的item1. 页面title设置:self.title =@"Feebback";2.返回按钮的修改:self.navigationItem.backBarButtonItem.title = @"Cancel";//这句话在该页面调用即可3.(1)定义l原创 2015-05-04 23:19:51 · 548 阅读 · 0 评论 -
iOS 图片的属性
UIViewContentModeScaleToFill UIViewContentModeScaleAspectFit UIViewContentModeScaleAspectFill UIViewContentModeRedraw UIViewContentModeCenter UIViewContentModeTop UIViewContent原创 2015-06-25 11:11:44 · 1006 阅读 · 0 评论 -
关于error:Cannot assign to 'self' outside of a method in the init family
有时候我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,错误信息如下:error:Cannot assign to 'self' outside of a method in the init family原因:只能在init方法中给self赋值,Xcode判断是否为init原创 2015-06-26 11:08:54 · 918 阅读 · 0 评论 -
iOS 时间类的显示
iOS 时间类的显示NSTimeInterval expiredTime =[VUserInfoEntityManagersharedManager].userInfo.privateUserInfo.vipExpiryDate; NSDate *date = [NSDatedateWithTimeIntervalSince1970:expiredTime/1原创 2015-06-29 16:45:44 · 603 阅读 · 0 评论 -
iOS protocol buffer的使用
protocol buffer 是 google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。 google并没有提供Objective-C的实现,但是借助开源的力量,我们还是找到了解决方案。转载 2015-06-29 23:11:19 · 791 阅读 · 0 评论 -
iOS反射机制: objc_property_t的使用
iOS属性反射:说白了,就是将两个对象的所有属性,用动态的方式取出来,并根据属性名,自动绑值。(注意:对象的类,如果是派生类,就得靠其他方式来实现了,因为得到不该基类的属性。)常用的反射方式,有如下两种:从一个自定义实体类->自定义实体类从一个NSDictionary->自定义实体类(此方式最最常用,如网络Json数据会组成NSDictionary。sqlite查询数据,可转载 2015-06-30 22:17:13 · 411 阅读 · 0 评论 -
xcode armv6 armv7 armv7s arm64
目前ios的指令集有以下几种:armv6iPhoneiPhone2iPhone3G第一代和第二代iPod Toucharmv7iPhone4iPhone4Sarmv7siPhone5iPhone5Carm64iPhone5S 机器对指令集的支持是向下兼容的,因此armv7的指令集是可原创 2015-06-10 10:40:03 · 1006 阅读 · 0 评论 -
iOS 动画总结(一)
实现iOS漂亮的动画效果主要有两种方法, 一种是UIView层面的; 一种是使用CATransition进行更低层次的控制, 第一种是UIView,UIView方式可能在低层也是使用CATransition进行了封装,它只能用于一些简单的、常用的效果展现,这里写一个常用的示例代码,供大家参考。[UIView beginAnimations:转载 2015-06-11 22:42:03 · 627 阅读 · 0 评论 -
iOS 动画(二)
[html] view plaincopyUIBezierPath *movePath = [UIBezierPath bezierPath]; [movePath moveToPoint:center]; [movePath addQuadCurveToPoint:toPos controlPo转载 2015-06-11 23:18:34 · 381 阅读 · 0 评论 -
iOS 系统消息通知
一、键盘1、UIKeyboardWillShowNotification-将要弹出键盘2、UIKeyboardDidShowNotification-显示键盘3、UIKeyboardWillHideNotification-将要隐藏键盘4、UIKeyboardDidHideNotification-键盘已经隐藏5、UIKeyboardWillChangeFrameNotific原创 2015-07-10 17:17:29 · 999 阅读 · 0 评论 -
iOS CocoaPods集成简介
这两天在网上找到一款可以集成管理Xcode项目中所有第三方库的软件:CocoaPods。CocoaPods可以将你所需要的所有第三方库一块加入到项目中,并且自动添加所需framework。它还可以通过命令行查询最新的第三方库版本。本人用过之后发现很不错,所以推荐给大家,并附上2篇教程。1.CocoaPods一个Objective-C第三方库的管理利器2.CocoaPods简介原创 2015-07-05 21:35:04 · 547 阅读 · 0 评论 -
iOS Error: build settings specify a provisioning profile with the UUID
在Archive项目时,出现了“Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning profile was found”的出错。一直提示指定UUID的provisioning profile找不到,感觉很奇怪。明明自己的provisioning原创 2015-07-27 17:46:45 · 1348 阅读 · 0 评论 -
IOS __attribute__ ((warn_unused_result))的含义
这个关键字的含义:如果某个函数使用了这个关键字,那么函数在被调用的时候,要检查或者使用返回值,某则编译器会进行警告。使用场合:在把一些功能封装起来(或者SDK的编写)时候,如果对返回值的使用比较重要,那么使用这个关键字提醒编译器要检查返回值是否被利用。-(BOOL)TestFunc:(NSInteger) num __attribute__ ((warn_unused_result转载 2015-07-18 21:15:45 · 1057 阅读 · 0 评论 -
iOS 动画总结
iOS 动画大体可以可以分为两大类:一类是针对UIView的动画:UIView的自带动画另一类是针对CALayer的动画:核心动画(Core Animation)一. UIView自带动画:(位置改变、大小缩放、旋转变化)注意:只有当UIView的以下属性改变时才能产生动画效果,且这些动画效果都是平面性的(二维的),基于手机屏幕的平面,主要有“平移(位置改变,沿x轴、Y轴或同时改原创 2015-07-20 22:46:57 · 935 阅读 · 0 评论 -
iOS URLWithString返回为空nil的解决方案
[NSURL URLWithString:@"…………"]但是貌似汉字或者空格等无法被识别,String不被认为是URLString,这个NSURL的值也就一直是nil要怎样才能够让它识别呢?解决方法如下:1.转换编码str1 = [str1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];原创 2015-08-28 17:15:44 · 6368 阅读 · 0 评论 -
iOS UIBezierPath类 介绍
使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中。此类是Core Graphics框架关于path的一个封装。使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状。 1.Bezier Path 基础 UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建转载 2015-07-21 23:52:52 · 391 阅读 · 0 评论 -
iOS 使用Quartz 2D画虚线
画虚线需要用到函数:CGContextSetLineDash此函数需要四个参数:context – 这个不用多说phase - 稍后再说lengths – 指明虚线是如何交替绘制,具体看例子count – lengths数组的长度CGContextRef context =UIGraphicsGetCurrentContext();转载 2015-07-23 14:47:31 · 438 阅读 · 0 评论 -
IOS上的图形和动画处理 CORE GRAPHICS
在cocoa touch 中一个应用程序是由多个窗口和视图构成。一个带有用户界面的应用程序至少包含一个窗口,同时可以包含一个或者多个视图。在cocoa Touch中,一个窗口是UIWindow的一个实例,通常,一个应用程序会打开主窗口,然后开发人员向窗口中添加各种视图:如按钮,标签,图像,或者自定义的控件。所有这些与UI相关的组件都由UIKit处理。图形与动画:在IOS开发中 苹果公司向开转载 2015-07-23 14:55:06 · 555 阅读 · 0 评论 -
整理一下CoreGraphic和Quartz2D的知识(一)
1.Quartz 2D是什么?•Quartz 2D以PDF的规范为基础的图形库,用来绘制二维文字和图形,允许相同的绘图指令在任何装置上,使用可以得到的最佳分辨率,产生相同的输出.2.Quartz2D能做什么?•Quartz 2D API可以实现许多功能,如基于路径的绘图、透明度、阴影、颜色管理、反锯齿、PDF文档生成和PDF元数据访问等3.Quartz2D和CoreGr转载 2015-07-23 15:22:17 · 796 阅读 · 0 评论 -
iOS7 imageWithContentsOfFile 问题
UIImage @selector(imageWithContentsOfFile:)iOS7:当从子bundle中读取图片时,文件名不能省略@2x.png;iOS8:可以省略原创 2015-07-24 11:24:49 · 1015 阅读 · 0 评论 -
iOS文件的操作与相关的属性
1、文件的创建 -(IBAction) CreateFile{//对于错误信息NSError *error;// 创建文件管理器NSFileManager *fileMgr = [NSFileManager defaultManager];//指向文件目录NSString *documentsDirectory= [NSHom转载 2015-09-01 22:48:59 · 599 阅读 · 0 评论 -
iPhone6分辨率与适配
(via:sunnyxx's blog) 分辨率和像素经新xcode6模拟器验证(分辨率为pt,像素为真实pixel):1.iPhone5分辨率320x568,像素640x1136,@2x2.iPhone6分辨率375x667,像素750x1334,@2x3.iPhone6 Plus分辨率414x736,像素1242x2208,@3x,(注意,在这个转载 2015-08-05 17:04:20 · 567 阅读 · 0 评论 -
iOS Group类型的table的height ForHeader与footer
对于- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ if (section == 0) { return 30; }else{ return 0;原创 2015-09-01 22:52:01 · 3038 阅读 · 0 评论