在iOS开发过程中,尤其是对于新手来说,都会遇到或多或少的难题,其实,综合来看有的问题并不是特别的复杂,很可能就是我们思路的问题,但是,有的很常见的问题只需要我们细心点将以前犯过的错误及时记录下来,这样就能很好的避免在同一个问题上再次出现错误,鉴于这些,小编将在iOS开发过程中出现常见难题的解决方法奉献给大家。

头条推荐

学习objective-c问题汇总

终于全部实践了一次并写了一些小小的东西,不过还是不太熟练。接下来会继续看另外一本很基础的书,不过这本书就不会做笔记了,同时会跟着新买的一本口碑超赞的书进行实践练习,会有新笔记的。 ……>>详细

DatePicker 获取时间的时区问题

实现日期选取器:

想在每次加载软件的时间都能将选取器加载到当前的日期和时间,需要在viewDidLoad中创建一个新的NSDate对象,通过这种方式创建这个对象包含当前的时间和时间。然后将datePicker设置为该日期,这样就可以确保每次从nib中加载此视图时,选取器都会重置为当前得日期和时间..

  1. -(void)viewDidLoad{ 
  2.     NSDate *now = [[NSDate alloc]init]; 
  3.     [datePicker setDate:now animated:NO]; 
  4.     [now release]; 
  5.   

然后在你需要获取日期的方法中:

  1. NSDate *selected = [datePicker date]; 
  2.   

你可以获取到当前0时区的时间,如果需要设置日期的格式需要添加如下的格式订制:

阅读全文

TabBar图片不显示的原因

开始使用ios中的UITabBarController,在给Tab Bar Item设置自定义图片的时候,遇到了问题

 

按照如下配置:

 

阅读全文

iOS横竖屏解决方案

ios横竖屏的效果是不相同的,所以我们在开发中如果允许屏幕横竖屏间的切换,那么我们就要调整视图的布局。利用Interface Builder开发,我们可以快速的拖拽出合适的界面布局,但是屏幕自动切换布局不能很好的适配,下图是,没有做任何调整的状态下,实现的横竖屏切换,可以看到界面不是很美观。

image39.pngimage40.png

目前我所知的实现ios横竖屏切换的解决方案共有三种:

1.利用Interface Builder适配器自动适配调整界面。

阅读全文

atomic与nonatomic,assign,copy与retain的定义和区别

atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。

atomic

 

设置成员变量的@property属性时,默认为atomic,提供多线程安全。

阅读全文

iPhone图片拉伸的几种方法

系统至ios6之后,关于图片拉伸的方法已经扩展至3个函数:

1.ios4提供的方法:

  1. - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域距离左边框的宽度,第二个参数是不拉伸区域距离上边框的宽度,其操作本质是对一个像素的复制拉伸,故没有渐变效果,这也是其缺点所在。

参数的意义是,如果参数指定10,5。那么,图片左边10个点,上边5个点。不会被拉伸,x坐标为11的点会被横向复制,y坐标为6的点会被纵向复制。注意:只是对一个点像素进行复制到指定的宽度。

阅读全文

iPhone获得User-Agent(UA)信息的方法

如果你需要获取Android手机的UA信息,请移步这里Android获得UA信息的方法

iPhone中取到UA信息的方法如下:

1.利用浏览器控件UIWebView建立一个http请求

2.在请求建立的期间, 建立一个新的事件循环用来判断UA信息是否已经建立

阅读全文

Objective-C学习之NSDate简单使用说明

object-c基础语法NSDate, 主要学习NSDate的设置、获取当前时间、当前时间加减秒后的时间、日期比较、日期转换成NSString等

XCode4.6.3,OS X SDK 10.8; NSDate日期操作,获取当前日期,日期比较,日期格式,日期推算,时差解决办法等 。

 

 

阅读全文

iPhone开发关于UDID和UUID的一些理解

一.UDID(Unique Device Identifier) 

UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 

在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI. 

ios5 sdk中的获取方法: 

阅读全文

利用操作队列和信号量来实现操作同步

最近在开发iOS过程中遇到一个问题:某一些操作需要在一个初始化操作后才允许执行。但是这些操作的执行时刻有可能比初始化操作来得要快。那么,如果不等待初始化操作后再执行的话,这些操作就等于是丢失了。

针对这个问题,我想到了两种解决方案:第一就是执行这些操作之前先判断是否已经初始化,如果尚未初始化则使用一个数组队列把操作参数及调用的方法存储起来,等待初始化完成后再检测数组队列中的保存的操作进行调用并清空队列。但这种方式有个问题就是操作中传递的参数以及调用方法引用都需要自己来维护,这无疑是给自己带来了一定的工作量以及风险,稍有不慎就有可能会导致内存泄露。

因此第二中解决方法就是利用串行队列结合信号量的方式来控制操作的执行。此方案的思路是,先创建一条串行队列,此队列用于执行所有的操作。但是最先入队的是一个等待信号的操作。而这个信号的初始值是0,直到初始化操作完成后才会发送一个信号来通知此操作。因此,在尚未初始化完成的时候此队列是一直处于阻塞状态的。所以到有操作进入队列时都会立刻执行,而是需要等到初始化信号过来后才开始执行。

为了验证这一想法,我新建了一个应用工程,在ViewController中定义了操作队列_quque和信号量_sema,如下:

阅读全文

10 iOS何时使用self.

大多数的答案是:“这与objc的存取方法有关”

怎么样才能有关呢?接下来通过几个小例子来看一下。

首先我们创建一个学生类:Student类

这个学生类里有学生的id和学生的姓名name

阅读全文

11 在iOS中使用第三方类库

方法一:直接复制所有源文件到项目中

这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可。如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库。

如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses里找到第三方类库的.m文件,并为它们加上-fno-objc-arc标记。

而对于在未启用ARC的项目用引用使用了ARC的第三方类库,则需要为第三方类库的.m文件加上-fobjc-arc标记。

阅读全文

12 iPhone开发之多线程NSThread和NSInvocationOperation

多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。

本次介绍NSOperation的子集,简易方法的NSInvocationOperation:

 

 

阅读全文

iOS相关业界资讯

iOS开发资源大全!
好不容易整理好的iOS相关开发资源大全,哇哦,终于整理好了,希望能给您带…
iOS7 Beta6后苹果将发布正式
在经过了iOS7 Beat5后,还有最有一个Beta版本,再之后将发布Gold Master版…
传苹果9月5日发布iOS7 Gold
上周,苹果刚刚发布了小幅修正的iOS7第6个测试版iOS Beta6,目前有消息称在…
传苹果已经着手准备iOS 8 将
据国外媒体报道,有消息人士称,面对如今智能手机激烈的竞争,苹果的研发也…
iPhone 4 与 iPhone 5 在 iO
iOS 7的发布无疑给大家带来了惊喜,无论从设计还是系统上,都让大家耳目一…
苹果iOS系统升级到什么时候
苹果,三星占据着移动互联网的大部分份额,称霸着移动界,当然两大手机操作…
iOS 重大新漏洞:可绕开苹果
iOS最近又出现重大漏洞,这个漏洞危害可不小,可以绕开苹果的审核机制,想…
苹果发布 iOS 7 和 iTunes 1
美国东部时间周一下午1点(北京时间周二凌晨1点),苹果公司正式发布了 iOS…
八位彻底改变App Store的iOS
我们与 app 交互的方式已经被一群聪明的开发者所完全改变,他们的共性是对 …
绝对震撼:微软要为android
微软发言人弗兰克-肖(Frank Shaw)谈到思路转变时说:“在市场变迁的同时…

投    票

在iOS开发过程中你所遇到的哪类问题最多?
iOS多线程方面
屏幕分辨率方面
异步操作方面
内存溢出方面
应用安全方面

专题推荐

在iOS开发过程,尤其是对于新手来说,都会遇到或多或少的难题,其实,综合来看有的问题并不是特别的复杂,
iOS开发之常见疑难问题解决
在iOS开发过程,尤其是对于新手来说,都会遇到或多或少的难题,其实,综合来看...
...续传,进度跟踪,上传文件,HTTP 认证。同时它也加入了 Objective-C 闭包 Block 的支持,让我们的代码加
iOS教程之ASIHttpRequest完
...续传,进度跟踪,上传文件,HTTP 认证。同时它也加入了 Objective-C 闭包 Bl...
多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。在系统级别内,程序并排执行,系统分
全面掌握iOS多线程攻略
多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。在系统级...
关于iOS 7你有什么样的看法?作为一名交互或视觉设计师,你希望顺应当前大环境的发展趋势,向移动领域拓展
iOS 7人机交互指南之UI设计
关于iOS 7你有什么样的看法?作为一名交互或视觉设计师,你希望顺应当前大环境...

一周排行

留言评论