
Iphone开发
zz_mm
热爱C#和Java,JavaScript,Android,IOS开发,Windows Mobile开发
展开
-
IOS 知识大总结
1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"]; NSString *preferredLang = [languages原创 2016-03-08 22:28:51 · 3918 阅读 · 1 评论 -
mac os下eclipse修改svn的用户名和密码 mac svn checkout 报 403 Forbidden 错误的处理方法
1、打开命令行窗口,即用户的根目录(用户的home目录)$ ls -al...drwxr-xr-x 6 lvzhinan staff 204 1 9 18:10 .subversion...$cd . subversion/auth/$rm -r -f -d *2、重启ecl转载 2015-08-31 14:41:10 · 2496 阅读 · 0 评论 -
打开ios设备的闪光灯代码
- (void) turnTorchOn: (bool) on {Class captureDeviceClass = NSClassFromString(@"AVCaptureDevice");if (captureDeviceClass != nil) { AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMe转载 2015-08-10 16:21:11 · 1495 阅读 · 0 评论 -
IOS Block很简单,就像delegate的简化版
代理设计模式对于iOS开发的人来说肯定很熟悉了,代理delegate就是委托另一个对象来帮忙完成一件事情,为什么要委托别人来做呢,这其实是MVC设计模式中的模块分工问题,例如View对象它只负责显示界面,而不需要进行数据的管理,数据的管理和逻辑是Controller的责任,所以此时View就应该将这个功能委托给Controller去实现,当然你作为码农强行让View处理数据逻辑的任务,也不是不行,转载 2015-07-16 14:26:47 · 979 阅读 · 0 评论 -
iOS深入学习(创建静态库static library)
在项目开发的过程中,经常使用静态库文件。例如两个公司之间业务交流,不可能把源代码都发送给另一个公司,这时候将私密内容打包成静态库,别人只能调用接口,而不能知道其中实现的细节。简介:库是一些没有main函数的程序代码集合。除了静态库,还有动态链接库,他们之间的区别是:静态库可以编译到我们的执行代码中,应用程序可以在没有静态库的环境中运行;动态库不能编译到我们的执行代码中,应用程序必须在有链接库文件的环转载 2015-07-16 14:11:17 · 1212 阅读 · 0 评论 -
iOS深入学习(再谈block)
之前写过一篇博客,把Block跟delegate类比,说明了使用block,可以通过更少的代码实现代理的功能。那篇博客将block定义为类的property。过了这么长时间,对于block的内容有了很多的遗忘,果然block的语法比较操蛋,容易遗忘,还是看看http://fuckingblocksyntax.com/,复习一下操蛋的block语法,我翻译如下,(1)block作为本地变量(转载 2015-07-16 15:12:28 · 1680 阅读 · 0 评论 -
iOS深入学习(Block全面分析)
如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block为了方便对比,下面的代码我假设是写在ViewController子类中的1、第一部分定义和使用Block,- (void)viewDidLoad{ [super viewDidLoad]; //(1)定义无参无返回值的Block void (^printBlock)转载 2015-07-16 15:33:42 · 705 阅读 · 0 评论 -
_weak typeof(self) weakSelf = self
_weak typeof(self) weakSelf = self; (一)内存管理原则 1、默认strong,可选weak。strong下不管成员变量还是property,每次使用指针指向一个对象,等于自动调用retain(), 并对旧对象调用release(),所以设为nil等于release。 2、只要某个对象被任一strong指针指向,那么它将不会被销毁,否则立即释放,不用等转载 2015-07-09 16:28:15 · 34447 阅读 · 0 评论 -
ios 字符串判断代码
//判断是否不为空+ (BOOL)isNotBlank:(NSString *)str{ if (str != nil && str.length != 0) { return YES; } return NO;}//是否包含字符串- (BOOL)myContainsString:(NSString *)other{ NSRange r转载 2015-07-08 19:42:46 · 786 阅读 · 0 评论 -
IOS 将RGB颜色值转换为UIColor
#define UIColorFromRGB(rgbValue) [UIColor \colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.转载 2015-06-09 17:16:02 · 2543 阅读 · 0 评论 -
CGContextAddArcToPoint和CGContextAddArc
比较难的是CGContextAddArcToPoint 代码如下:CGContextRef context=UIGraphicsGetCurrentContext(); CGContextSetRGBStrokeColor(context,1,0,0,1); CGContextMoveToPoint(context,150,50); CGContextAddLineT转载 2015-09-01 14:22:14 · 482 阅读 · 0 评论 -
IOS UITableview 的Cell 封装
感觉不错的代码。收藏下。#import "GDBookTableViewCell.h"#import "GDBook.h"@interface GDBookTableViewCell ()@property (weak, nonatomic) IBOutlet UIImageView *iconLabel;@property (weak, nonatomic) IBOutlet U原创 2015-08-18 11:46:40 · 2802 阅读 · 0 评论 -
iOS判断一个字符串中是否都是数字
第一种方式是使用NSScanner:1. 整形判断- (BOOL)isPureInt:(NSString *)string{NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan scanInt:&val] && [scan isAtEnd];} 2.浮点形判断:- (BOOL)i原创 2015-12-11 12:51:44 · 6309 阅读 · 0 评论 -
一句话去除UITableView底部多余行及分割线
在viewDidLoad函数中加上此句代码:self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];即可去除UITableView底部多余行及分割线原创 2015-09-24 17:14:19 · 744 阅读 · 0 评论 -
IOS 获取指定月的第一天和最后一天
+ (NSString *)getMonthBeginAndEndWith:(NSString *)dateStr{ NSDateFormatter *format=[[NSDateFormatter alloc] init]; [format setDateFormat:@"yyyy-MM"]; NSDate *newDate=[format dateFromS原创 2015-10-27 15:18:08 · 12288 阅读 · 0 评论 -
IOS 积累代码之一
+ (BOOL)checkPhoneNumber:(NSString *)phoneNumber{ //判断电话号码 NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$"; NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";原创 2015-09-16 17:56:27 · 605 阅读 · 0 评论 -
iOS GCD使用指南
Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。Dispatch Queue转载 2015-09-11 16:21:56 · 582 阅读 · 0 评论 -
如何设计一个 iOS 控件?(iOS 控件完全解析)
代码的等级:可编译、可运行、可测试、可读、可维护、可复用前言一个控件从外在特征来说,主要是封装这几点:交互方式显示样式数据使用对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个好的控件除了有对外一致的体验之外,还有其内在特征:灵活性低耦合易拓展易维护转载 2015-09-11 17:45:54 · 1316 阅读 · 0 评论 -
IOS 宏NSDictionaryOfVariableBindings中的#
在代码中使用Autolayout时,大家都会使用NSDictionaryOfVariableBindings这个宏,这个宏可以生成一个变量名到变量值映射的Dictionary。比如NSDictionaryOfVariableBindings(button1, button2)将会生成一个{ @”button1” = button1, @”button2 = button2 }的Dictionary。转载 2015-08-20 17:30:04 · 2924 阅读 · 0 评论 -
dispatch_async & dispatch_sync理解
* 所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用的结果。* 而异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用.**简单的生活中的原创 2015-09-09 11:48:02 · 1929 阅读 · 0 评论 -
IOS 开发常用的宏定义
// 1.判断是否为iOS7#define iOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0)// 2.获得RGB颜色#define RGBA(r, g, b, a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b原创 2015-09-09 10:22:25 · 885 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
目录[-]1、应用程序的状态2、应用程序的生命周期2.1、加载应用程序进入前台2.2、加载应用程序进入后台2.3、关于main函数3、响应中断3.1 当一个基于警告式的中断发生时,比如有电话打进来了,这是程序会临时进入inactive状态,这用户可以选择如何处理这个中断,流程如下图:3.2 当有这些中断时,我们的app该怎么办呢?我们应该在applicati转载 2015-06-05 18:36:43 · 610 阅读 · 0 评论 -
iOS中图片拉伸技巧
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60现在我们把它用作为按钮背景,按钮尺寸是150x50转载 2015-06-05 18:23:22 · 665 阅读 · 0 评论 -
UIImagePickerController详解
1.UIImagePickerController的静态方法: imagepicker = [[UIImagePickerController alloc]init]; //UIImagePickerController静态方法判断设备是否支持照相机/图片库/相册功能 /* typedef NS_ENUM(NSInteger, UIImagePicke转载 2014-12-27 16:54:14 · 628 阅读 · 0 评论 -
duplicate symbol _OBJC_CLASS_$_Reachability in:
ld: duplicate symbol _OBJC_IVAR_$_Reachability.localWiFiRefcollect2: ld returned 1 exit status Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1转载 2014-12-06 12:00:26 · 8535 阅读 · 0 评论 -
App Icons on iPad and iPhone
程序上传到App store 需要注意App Icons on iPad and iPhone 的各种尺寸~转载 2014-11-23 22:23:06 · 623 阅读 · 0 评论 -
iOS系统的Javascript与Objective-C互操作指南
编写目的:本文重点阐述在iOS系统上通用的本地Objective-C代码与基于Javascript的Web的应用的互操作的基本方法,并通过具体范例说明两种代码的交互方式;阅读前提:熟悉iOS系统的UIWebView的功能、调用方法,相应的UIWebViewDelegate委托的使用方法,并了解Javascript函数的基本语法与函数调用方法;说明:正文部分红色字体表示Javascript代转载 2014-11-03 11:19:51 · 1282 阅读 · 0 评论 -
ipad,iphone启动图片命名
Default-Portrait.png iPad专用竖向启动画面 768x1024或者768x10042Default-Landscape.png iPad专用横向启动画面 1024x768或者1024x7483Default-PortraitUpsideDown.png iPad专用竖向启动画面(Home按钮在屏幕上面),可省略转载 2014-11-17 12:41:34 · 2888 阅读 · 0 评论 -
iOS App 启动图片
很简单,直接把你的欢迎图片命名为 Default.png 就可以了,应用启动的时候会自动展示你的欢迎图片的。 当然,不同的设备,命名不同,但是图片是相同的,只是分辨率有差别。目前iOS主流的几种设备分辨率如下:iPhone 1(指第一代iPhone),iPhone 3G,iPhone 3GS ,iPod Touch 1,iPod Touch 2,iPod转载 2014-11-16 23:11:28 · 6551 阅读 · 3 评论 -
iOS webview 交互
-(void)webViewDidFinishLoad:(UIWebView *)webview{ NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"]; NSString *title = [webview stringByEvaluat原创 2014-11-15 11:54:52 · 4230 阅读 · 0 评论 -
iOS开发隐藏键盘方法总结
下面为大家带来我整理总结的几种隐藏键盘的方法。一、隐藏自身软键盘当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件。在点击软键盘右下角的“Return”按钮后,会触发该事件。该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件)- (I原创 2014-10-25 11:43:45 · 4848 阅读 · 1 评论 -
XCode 为iPhone程序设置图标的方法
之前自学时,一直不会给程序设定一个程序图标. 天天对着白板图标有时候还会影响心情呢.后来才知道,方法很简单.随便找一个PNG为后缀的图标, 把它重命名为 icon.png 就可以了. 再次启动 IPhone 模拟器. 就成功了.及时尺寸不符合审核规范,也是可以显示出来的,供测试效果吧.为iPhone设置启动画面只需要将图片名称命名为:Default.png 即可.转载 2014-06-30 13:45:48 · 947 阅读 · 0 评论 -
Objective-C打印BOOL型变量
有时候我们可能会定义一个 BOOL b;b=YES;NSLog(@"BOOL--b-->%@",b);然后运行程序就会崩溃,这是因为%@打印的是一个对象,BOOL是一个数据类型。使用%@要求对应的参数必须是一个对象,并且还实现对象的description方法,这样就可以打印出对象的内容了。 NSLog其实也就是调用该对象的descripti转载 2014-12-27 18:05:05 · 788 阅读 · 0 评论 -
IOS中 Block简介与用法
Block简介:Block的实际行为和Function很像,最大的差别是在可以存取同一个Scope的变量值。Block实体形式如下:^(传入参数列){行为主体};Block实体开头是“^”,接着是由小括号所包起来的参数列(比如 int a, int b, int c),行为主体由大括号包起来,专有名字叫做block literal。行为主体可以用return回传值,类型会被转载 2014-12-27 15:37:42 · 841 阅读 · 0 评论 -
IOS 获取文本的高度和宽度
+ (CGFloat)heightForContent:(MyMsgTextModel *)content withWidth:(CGFloat)width{ CGSize contentSize; if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { NSMutableParagraphStyle *par转载 2015-06-05 18:15:33 · 3314 阅读 · 0 评论 -
IOS-NSDate之今天,昨天,这周,这个月,上个月
今天跟大家讨论日期的用法,相信大家在项目中,经常会设置一个默认时间段,比如一周前到今天。下面教大家怎么获取前一天,或前一周等等。比如date 2009-12-11NSDate *today = [NSDate dateWithString:@"2009-12-11 00:00:00 +0000"]; NSDate *yesterday = [NSDate dateWithString转载 2015-06-23 19:39:32 · 2633 阅读 · 0 评论 -
iOS和Android的app界面设计规范
记录一下iOS和Andoird的界面设计规范,方便进行标准的产品设计,并与设计师顺畅沟通iOS篇界面尺寸设备分辨率状态栏高度导航栏高度标签栏高度iPhone6 plus1242×2208 px60px132px147pxiPhone6750×133转载 2015-05-03 09:34:10 · 3093 阅读 · 0 评论 -
VMware10.0安装Mac OS X 10.9超详细教程
最新版的VMware10.0支持中文,无需汉化,安装即可;不过还是需要注册码,注册机是必须有的请放心,下载地址: 点击进入其它所需软件: 1.系统:用的是论坛里网友做的懒人版是.cdr文件(真接把.cdr改为.iso就是镜像文件了) 点击进入 (也可以去下原版镜像dmg文件,有7z打开提取里面的InstallESD.dmg,然后用UltraISO转化为ISO镜像转载 2015-03-24 15:04:29 · 3293 阅读 · 0 评论 -
使用subversion管理iOS源代码
使用subversion管理iOS源代码 1、安装和配置subversion服务器 在windows 服务器上安装VisualSVN-Server,下载地址http://www.visualsvn.com/server/download/。采用默认安装,安装完成创建一个服务器的代码仓库hello,如图所示。然后在Users右键创建用户to转载 2015-03-23 11:06:59 · 608 阅读 · 0 评论 -
iOS获取ipa里的资源如图片等
iOS获取ipa里的资源如图片等你可以自己在iphone上下载一个你想要的客户端,然后使用iTunes进行备份,把应用备份拷贝到本地后,把ipa的后缀名改为zip然后解压,在解压后的文件夹中找到.app右键显示包内容,在里面就可以拿到整个应用的素材。原创 2015-03-27 16:14:06 · 5156 阅读 · 0 评论