IOS
文章平均质量分 62
jijunyuan
专注IOS开发,诚实做人,诚信做事!!!
展开
-
出栈操作----跨页面pop,但是又不pop到rootViewController
for(UIViewController *controller in self.navigationController.viewControllers) { if([controller isKindOfClass:[OverWorkRecevice class]]){ OverWorkRecevice*owr = (OverWork原创 2013-08-19 08:38:31 · 1904 阅读 · 1 评论 -
十四条关于移动端产品设计的原则
【导读】本文作者总结了十四条关于移动端产品设计的原则,其提倡的核心原则就是从用户出发,充分考虑用户的使用体验。 一、充分考虑用户的使用习惯 比如大多数人拿手机的时候是双手握还是单手握,单手握的时候是右手操作还是左手操作,操作的时候用哪个手指就能进行操作。考虑到用户的使用习惯有助于在设计时避开手指的触碰盲区。二、充分考虑用户的使用场景和干扰源 互联网的一些事 用户使用产品转载 2013-08-19 09:05:43 · 1274 阅读 · 0 评论 -
GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。/*!* @function dispatch_get_main_queue** @abstract* Returns the defa原创 2013-08-20 10:45:07 · 1077 阅读 · 0 评论 -
操蛋的UITableView重用机制
1,背景你可能会遇见一下情况:使用UITableView加载数据,比如你的每一个cell上面有一个UITextField,当你在第一个cell的UITextField中写下了内容,开始下滑UITableView,你会发现由于UITableView重用机制的影响,你的第一个UITextField的值会发生变化,令人费解啊,抓狂!之类的情况可能很多,下面咱们就总结一下发生这种情况的原因原创 2013-08-14 16:41:50 · 2181 阅读 · 1 评论 -
将字符串转化为时间,犯了一个低级错误
今天犯了了个很低级的错误,想把UIDatePickView的默认选中时间设置为当前时间的下一天的11:30,我的思路:首先获取当前时间---将当前时间字符串化-----截取次字符串,分理处当前的年月日中得日----将日+1----然后字符串拼接成自己想要的日期格式-------将拼接成的日期转化成NSDate-------然后设置默认时间我犯的错误,将字符串转化为时间的时候,一直想象NSDat原创 2013-08-17 09:38:59 · 1560 阅读 · 0 评论 -
UILable:显示多种颜色的方法
借用别人封装好的类库,用来显示同一个UILable上的多种颜色的字。类库可以直接在次博客中下载,下载后别忘留言哦。类库使用:主要用了CoreText里面的东西,所以在使用类库之前需要引用CoreText这个系统框架。注意,此封装的类库不支持ARC类库设置好后,开始进行使用此类库里面的方法:// Do any additional setup after loading th原创 2013-10-08 09:26:10 · 1535 阅读 · 0 评论 -
UIButton的点击事件写成Block,AlertView的delegate写成Block
每次使用UIButton的点击事件都要新写一个方法,感觉太麻烦,今天下来无事就用block封装了一下button的操作事件,这样以后能省下一些时间,而且代码量也减少了不少。下面我写上源码:我写的是UIButton的类目h文件:#import typedef void (^ActionBlock)();@interface UIButton (Block)-(void)原创 2013-10-26 11:05:31 · 1809 阅读 · 0 评论 -
ios证书概述
近期一直对开发证书分辨不清,在这里搜索点网上的内容梳理下这块知识:1. Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1) Developer Certification(开发证书)安装在电脑上提供权限:开发人员通过设备进行真机测试。可以生成副本供多台电脑安装;2) Distribution Ce原创 2013-11-15 11:23:01 · 1615 阅读 · 1 评论 -
UITableView和UISearchBar在ios7和ios6之间的区别【转】
iOS7中,如果用UITableViewStyleGrouped的话,里面的cell会比原来的拉长了,这样做应该是为了统一和UITableViewStylePlain风格时cell的大小一致,所以改用UITableViewStylePlain后,就没问题了,而且在iOS7中,使用UITableViewStyleGrouped风格时,上面会出现headView,大概占了35个像素,使用UITable原创 2013-11-16 10:22:27 · 3976 阅读 · 0 评论 -
IOS7状态栏标准适配
如果你已经下载了xcode5,正准备使用,你会发现各种布局的改变.注定这段时间是忙的,是头疼的!原创在此哦http://my.csdn.net/rhljiayou这两天经常会碰到群里有人在问问题,问ios7怎么适配,以及各种网上说的如何解决ios7下状态栏的问题.我发现各种群里流传着一种适配方法,就是修改window的坐标(window.frame),然后大家纷纷效仿,但是往往出现各种原创 2013-11-16 09:34:40 · 2151 阅读 · 0 评论 -
让ios 7的状态条恢复原样
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:n原创 2013-09-24 16:12:56 · 2627 阅读 · 1 评论 -
ios中KeyChain用途
一、在应用间利用KeyChain共享数据 我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add、update、get、delete这四个操作。对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见。而要想在将存储的内原创 2013-11-05 15:09:16 · 2801 阅读 · 0 评论 -
IOS--启动其他应用程序
iphone应用之间调用步骤: 1)在plist文件中,注册对外接口 在xcode group&files 里面,展开 resources选择info.plist 鼠标右击information property list ,然后从列表中选择URL types 右击 add row 添加一个对象(item)右击item add row原创 2013-11-05 15:53:55 · 1050 阅读 · 0 评论 -
Objective-C 2.0的运行时编程
Objective-C 2.0 的运行时环境叫做Morden Runtime,iOS 和Mac OS X 64-bit 的程序都运行在这个环境,也就是说Mac OS X 32-bit 的程序运行在旧的Objective-C 1.0 的运行时环境LegacyRuntime,这里我们只讲解Morden Runtime。 同运行时交互主要在三个不同的地方,分别是A.Objective-C转载 2013-11-05 16:36:56 · 1391 阅读 · 0 评论 -
在地图上绘制两点间的线路图
原理:用google找到两个经纬度之间的路线点,然后在地图上把点用线连起来,就成了线路图下面看代码: currLocation = [[CLLocation alloc] initWithLatitude:34.82373560 longitude:113.67290260]; MKCoordinateRegion region; region.center = curr原创 2013-11-21 13:23:36 · 3397 阅读 · 0 评论 -
xcode中添加新字体【ttf】
1. 将你的font的ttf文件导入到项目里。2. 找到项目的info.plist文件。如果你没有手动修改过上述的文件,它的默认名字应该是[项目名]-info.plist3. 在该plist里添加一个新的项:Fonts provided by application4. 在里面的Item项里添加你的font文件的名字使用的方法如下:[theLabel setFont:[原创 2013-11-22 09:26:42 · 2685 阅读 · 0 评论 -
StoryBoard学习记录一
ios5.0之后开始支持StoryBoard,刚开始感觉这些太麻烦,今天研究了之后才发现,使用StoryBoard是如此的方便,以后如果App适配ios5之后的,我决定就是用StoryBoard了。这篇博文只要讲:1,刚开始没有加入StoryBoard,现在又想加入StoryBoard的情况2,简单地页面间跳转3,关于使用StoryBoard的popViewController问题原创 2013-11-08 14:22:10 · 1646 阅读 · 0 评论 -
CoreText学习记录一:筛选网址显示不同颜色+Demo+pdf
首先介绍一下CoreText,下面这些介绍是借鉴别人的图,后面附上自己的源码及demoCore Text是iOS 3.2+和OSX 10.5+的文本渲染引擎,可以让你自由的控制文本格式和排版。 Core Text不同于UIKit和Core Graphics/Quartz(虽然通过后两者你也可以进行文字渲染):在UIKit中,你可以使用UILabel来原创 2013-11-07 11:31:28 · 2036 阅读 · 0 评论 -
IOS开发----生成静态库(.a)
由于iPhone控件的极度匮乏和自定义组件在重用上的限制,在过去的项目中我们积累了大量的“纯代码”组件——因为IB本身的限制,我们无法把这些组件封装为IB组件库(本来我们想通过分发xib文件的方式重用这些组件,但最终发现这根本不可能,苹果的Plug-in编程不支持iPhone)。最终我们想到了静态库。虽然这仍然还是一种比较原始的复用方式,但起码我们可以隐藏组件的源代码。下面, 我们使用iP原创 2013-11-09 09:59:21 · 1273 阅读 · 0 评论 -
打开系统setting页面
iOS5的SDK现在可以直接打开setting页面了,以往的SDK则不可以,当时我还花了大量时间去实现,结果不了了之。补充一点,下面的方法是undocument的,所以可能会被reject.如果你想打开Location Services的setting页面,代码如下:[[UIApplication sharedApplication] openURL:[NSURL URLWit原创 2013-11-12 16:48:11 · 2426 阅读 · 0 评论 -
这样来理解委托,代理,协议三者的区别
一、什么是委托 刚接触iOS开发的朋友肯定对委托这个东西感觉到陌生和迷惑,特别是Java转过来的(博主中枪),那么今天我们就简单的谈谈委托这个东西,atany会尽量做到说的浅显易懂的~ 首先让我们来看看委托的定义:委托(delegate),就是某个对象指定另一个对象处理某些特定任务的设计模式。通俗来说,就是“某个对象”把要做的事情委托给“另一个对原创 2013-11-13 13:27:39 · 3580 阅读 · 0 评论 -
XMPP学习记录六:聊天室
聊天室[cpp] view plaincopyprint?//初始化聊天室 XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID]; xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID];原创 2013-12-05 14:06:45 · 4739 阅读 · 0 评论 -
XMPP学习记录五:添加好友和删除好友
好友列表和好友名片[cpp] view plaincopyprint?[_xmppRoster fetchRoster];//获取好友列表 //获取到一个好友节点 - (void)xmppRoster:(XMPPRoster *)sender didRecieveRosterItem:(NSXMLElement *)item原创 2013-12-05 14:04:25 · 1988 阅读 · 0 评论 -
XMPP学习记录七:消息回执
发送消息时附加回执请求[cpp] view plaincopyprint? from='northumberland@shakespeare.lit/westminster' id='richard2-4.1.247' to='kingrichard@royalty.england.lit/throne'原创 2013-12-05 14:09:01 · 2418 阅读 · 0 评论 -
设置UITextField的左边距
CGRect frame = [self.TF_setLocationframe]; //为你定义的UITextField frame.size.width =15; UIView *leftview = [[UIViewalloc] initWithFrame:frame]; self.TF_setLocation.leftViewMode =U原创 2013-12-02 14:17:35 · 2480 阅读 · 0 评论 -
ios开发中经常用到的空间尺寸
Sizes of iPhone UI ElementsElementSize (in points)Window (including status bar)320 x 480 ptsStatus Bar(How to hide the status bar)20 ptsView inside window (原创 2013-12-10 09:55:52 · 946 阅读 · 0 评论 -
XMPP学习记录二:关于在xcode配置xmpp.framework
介绍ios上的XMPPFramework你能够在Xcode/iPhoneXMPP 目录找到,它只是实现了XMPP的一小部分功能。下面主要介绍在开发XMPPFramework ios应用之前的配置工作。你最好一步一步的来。第一步下载最新的XMPPFramework 代码。下载第二步XMPPFramework 有许多关联文原创 2013-12-05 13:52:57 · 1486 阅读 · 0 评论 -
XMPP学习记录三:关于连接服务器
XMPP中常用对象们:XMPPStream:xmpp基础服务类XMPPRoster:好友列表类XMPPRosterCoreDataStorage:好友列表(用户账号)在core data中的操作类XMPPvCardCoreDataStorage:好友名片(昵称,签名,性别,年龄等信息)在core data中的操作类XMPPvC原创 2013-12-05 13:57:37 · 1382 阅读 · 0 评论 -
IOS 开发必备网址
基础-苹果 iOS 移动应用开发新手入门指南教程中文版 | Objective-C基础 | C/C++基础 |C++教程地图-高德地图api | 百度地图上传-开发者中心 | itunes connect | 配置证书社区-博客园 | CSDN | CocoaChina | 51CTO | DevDiv | IOS开发者 | I原创 2013-12-05 13:26:14 · 1922 阅读 · 1 评论 -
XMPP学习记录一:XMPP简介
XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。在这四种协议中,XMPP是最灵活的。XMPP是一原创 2013-12-05 13:48:37 · 1700 阅读 · 2 评论 -
XMPP学习记录四:关于接受,发送消息和获取好友上下线的状态
消息[cpp] view plaincopyprint?//收到消息 - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message{ // NSLog(@"message = %@", messag原创 2013-12-05 14:01:14 · 2234 阅读 · 0 评论 -
UIEdgeInsets
Creates an edge inset for a button or view.UIEdgeInsets UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);ParameterstopThe inset at the top of an o原创 2013-12-13 11:39:45 · 1102 阅读 · 0 评论 -
NSLocalizedString
#define NSLocalizedString(key, comment) \ //第二个参数可以为空 本地化语言 [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil] #define NSLocalizedStringFromTable(key, tbl, comment) \原创 2013-12-13 11:49:22 · 2060 阅读 · 0 评论 -
Audio File Convert(afconvert)工具转换音频格式
在做游戏音效的时候,通常会使用.wav格式的音频文件,但是Apple通常推荐我们使用.CAF格式的,同时也提供了afconvert工具可以方便我们对音频文件进行转换。首先可以输入如下命令来查看支持哪些格式的音频。afconvert -hf或者afconvert --help-formats会得到如下信息,就是该工具所能支持的格式。[html] v原创 2013-12-13 14:27:51 · 1430 阅读 · 0 评论 -
UIView的contentMode属性
今天看到一个设置的self.contentMode不知道干啥的看了一下别的blog,感觉这张图介绍这个属性很好,下面复制过来分享一下。原创 2013-12-18 09:16:02 · 1985 阅读 · 0 评论 -
IOS 添加渐变色
CAGradientLayer *gradient = [CAGradientLayer layer];gradient.frame = CGRectMake(0, 0, contentWeight, 49);gradient.colors = [NSArray arrayWithObjects:(id)[UIColor colorWithRed:255.0/255.0 green:255.0原创 2013-12-18 17:33:03 · 2373 阅读 · 0 评论 -
Html颜色值转成UIColor[RGB值]
#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.0]原创 2013-12-18 17:35:58 · 1105 阅读 · 0 评论 -
自动布局(AutoLayout)【学习记录一】
转载:WWDC 2012 Session笔记——AutoLayout(自动布局)入门原来做适配3.5 和 4.0的屏都是用两个xib文件,原因是考虑到要适应ios5及之前的App。现在开发的App,大部分都是适配ios6和ios7,因此就可以用到苹果提供给开发者的福利-----AutoLayout下面的文章是借鉴于WWDC的东西,在这写下来希望能帮助一些人。这是WWDC2012笔记原创 2014-01-06 15:21:19 · 1489 阅读 · 0 评论 -
自动布局(AutoLayout)[附带源码]【学习记录二】
转载:开始iOS 7中自动布局教程自动布局拯救猿!现在你将会看到如何用自动布局实现相同的效果,从ViewController.m中移除viewWillLayoutSubviews,因为我们不再需要写任何代码。 选择Main.storyboard,并在File inspector中选择开启Use Autolayout:运行程序,旋转到lan原创 2014-01-06 16:36:57 · 2680 阅读 · 0 评论 -
WGS84、GCJ-02(火星坐标)、百度坐标,Web墨卡托坐标
GCJ-02坐标系统(火星坐标)简介:http://blog.csdn.net/giswens/article/details/8775121(存档:http://mapbd.com/cms/2012/07/25/)GCJ-02到真实坐标反向变换的理论基础:http://blog.csdn.net/giswens/article/details/8775213WGS84坐标与Web墨卡托坐原创 2014-01-07 09:48:34 · 2809 阅读 · 0 评论