ios开发学习点滴
文章平均质量分 90
本人大二。自学学习ios开发半年多了。
在此纪录下自己学习过程中的点滴,遇到的问题和自己学习的内容。
与君共勉。
Colin丶
这个作者很懒,什么都没留下…
展开
-
iOS开发 - 应用国际化开发
有时候, 我们的一款应用, 要面向各个领域, 各个国度的用户。而这个时候, 就涉及到了应用的国际化开发。国际化开发, 通俗来讲, 就是应用能根据用户当前设备使用的语言(本地化)来自动调整应用的语言, 使得每个用户都能正常使用应用。国际化开发的重要性不言而喻。总的来说, 涉及以下几个部分:1.应用程序名称2.字符串3.图片4.其他文件5.StoryBoard下面逐原创 2014-04-25 21:13:39 · 6034 阅读 · 4 评论 -
Mac-程序员必备工具(4)--App icon自动生成系列工具
在上传我们开发的App时候, 需要一些列不同规格的icon图标。之前呢,我都是利用Photoshop自己来弄,通过改变图像大小,图像命名来完成。虽然能正常完成,但是还是浪费了一些不必要的时间。程序员嘛.. 能偷懒就尽量偷懒。更何况这种没有技术含量的工作,无疑是浪费时间。这里,介绍几种方法和工具,分享下我偷懒的经验...1. iConify下载链接:原创 2014-04-16 22:06:38 · 13311 阅读 · 4 评论 -
iOS开发- 只能选择iOS Device,无法选择模拟器解决办法
最近下载网上demo后,在准备运行的时候, 经常只能选择iOS Device。 无法选择模拟器在电脑上进行测试。如下:当然, 可能的原来很多。而我遇到的一般都是版本问题。iOS现在更新到7.1了 Xcode也已经到5.1了。 (Xcode5.1 支持iOS7.1)而我现在还在用Xcode5.0 也没去升级。 目前的模拟器版本最高只支持7.0.故而,在编辑7.1下的工程时候原创 2014-04-15 16:05:38 · 16854 阅读 · 9 评论 -
iOS开发-键盘样式风格有关设置
一、键盘风格 UIKit框架支持8种风格键盘。[java] view plaincopyprint?typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable,转载 2014-04-07 11:34:15 · 4172 阅读 · 6 评论 -
iOS开发-Xcode5创建静态库详解(Cocoa Touch Static Library)
科普--->什么是iOS静态库?如果你作为iOS开发者已经有一段时间,可能会有一套属于自己的类和工具函数,它们在你的大多数项目中被重用。重用代码的最简单方法是简单的 拷贝/粘贴 源文件。然而,这种方法很快就会成为维护时的噩梦。因为每个app都有自己的一份代码副本,你很难在修复bug或者升级时保证所有副本的同步。这就是静态库要拯救你的。一个静态库是若干个类,函数,定义和资源的包装,你可以将其原创 2014-04-06 10:41:15 · 7609 阅读 · 5 评论 -
iOS 开发-理解Certificate、AppId和Provisioning Profile
之前被证书折腾的死去活来的,现在懂了点。mark下一些相关知识。转载 2014-04-05 17:02:10 · 6343 阅读 · 6 评论 -
iOS开发- ios学习资源(持续更新)
mark一些自己在学习过程中收集的资源。免得需要的时候没地方找。持续更新。(最新更新时间: 2014.4.4)1、苹果官方文档构建iOS程序:下面的这篇文章介绍了 iOS 程序开发的过程:Start Developing iOS Apps Today构建Mac OS X程序:下面这篇文章介绍了Mac OS X开发的过程:Start Developin原创 2014-04-04 19:35:25 · 6129 阅读 · 13 评论 -
iOS开发-应用崩溃日志分析(Crash Log)
转自raywenderlich 作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作。它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美。于是你打开代码准备修复闪退的问题……但是,从何处着手呢?转载 2014-03-30 12:59:48 · 3225 阅读 · 8 评论 -
iOS开发-复用代码块(Xcode Code Snippets)
首先,必须先强调下代码复用的重要性。复用的重要性:第一,较高的生产效率;第二,较高的软件质量;第三,适当的使用复用可以改善系统的可维护性。复用不仅仅是代码的复用,代码复用只是复用的初等形式传统的复用:代码的剪贴复用,算法的复用,数据结构的复用。在一个面向对象的语言中,数据的抽象化、继承、封装和多态性等特性使得一个系统可以在更高的层次上提供复用性。抽象化和原创 2014-03-28 09:21:24 · 6824 阅读 · 5 评论 -
iOS开发- 巧用FontAwesome(图标,字体)
首先,先介绍一下FontAwesome。Font Awesome 是为 Twitter Bootstrap 设计的图标字体。通过Web Font的方式来显示一些图标,好处是图标可以被任意缩放、改变颜色,你需要做的只是像修改文字样式那样修改图标样式。 这里就给出了一些图标。具体的可以参见这个网站,有更加详细的图标介绍。h原创 2014-03-10 23:09:51 · 5811 阅读 · 10 评论 -
iOS开发- UICollectionView详解+实例
本章通过先总体介绍UICollectionView及其常用方法,再结合一个实例,了解如何使用UICollectionView。UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。使原创 2014-03-09 17:11:50 · 47847 阅读 · 7 评论 -
iOS开发- ios7人机界面准则
Apple官方推出的“iOS人机界面准则”一直被iOS开发者奉为绝对的设计参考宝典,特别是iOS7系统推出以来,Apple公司对该准则进一步做了更新。最近,国内知乎社区的郎启旭推出了“iOS人机界面准则”完整的中文版,使iOS国内开发者可以快速上手。iOS人机界面准则主要分为UI设计基础、设计策略、iOS技术、UI元素、图标和图像设计等几个大类,其中每个大类有细分为许多小节,对iOS界面设翻译 2014-02-18 23:52:58 · 8197 阅读 · 4 评论 -
iOS开发- 启动动画(动态欢迎界面,非静态Default)
最近在使用《青葱日记》这款App,发现它的启动界面做的很精美。不同我自己之前简单的替换Default.png图片。 它的动态效果做的不错。于是乎,花了点时间,自己实现了这个功能。 其实也很简单,具体效果如下实现起来也不困难。因为我们知道,在应用启动的时候,它会先执行AppDelegate.m中的- (BOOL)application:(UIApplication *)a原创 2014-02-11 15:56:01 · 10062 阅读 · 10 评论 -
iOS开发-xcode5启动画面
xcode5新建的工程中已经没有自带纯黑的Default.png图片做为启动画面了。所以,如果单纯的加入Default.png图片是没用的,你会发现启动界面还是黑的。因为xcode5统一采用Images.xcassets来管理图片。解决方法有2个。1.找到Images.xcassets中的LaunchImage,在这里加入对应的启动画面即可。2.原创 2014-02-10 20:50:45 · 3914 阅读 · 11 评论 -
iOS开发-ios7下拉刷新,上提加载快速集成
在ios7之前,一直在使用开源的EGO库。但是,在使用过程中发现,普遍封装得过于复杂、耦合性强,不利于集成到自己的项目中。另外,在ios7之后,一些原有的下拉刷新,上提加载控件表现的就不是那么出色了。除了可能出错外,也不符合扁平化的风格。后来,在code4App上发现了一个大牛上传了一个开源代码, 仅需几行代码就可以为UITableView或者CollectionView加上下拉刷新或者上原创 2014-02-10 20:18:09 · 8538 阅读 · 9 评论 -
iOS开发-ios7样式绕圈活动指示器(自定义Activity Indicator View)
...说实在, 系统自带的Activity Indicator View实在是太难看了,就一菊花。参考了他人项目后,仿照做了个绕圈的活动指示器(Activity Indicator View).效果如下:具体实现方法:1.导入 MRActivityIndicatorView.h 和 MRActivityIndicatorView.m 文件2.在需要使用的地方, 导人原创 2014-02-07 12:54:38 · 5488 阅读 · 3 评论 -
iOS开发-利用Colours方便使用100种色彩,美化你的应用
独特的配色是应用设计的灵魂之一,而在开发过程中,开发者却经常会面临颜色抉择与搭配的问题。在GitHub上,有一款开源项目可谓是深受开发者喜爱,叫做Colours,(https://github.com/bennyguitar/Colours#color-palette)基于MIT许可协议发布,是一套专门用于iOS/OS X的颜色库。通过Colours,开发者只需将其所包含的Colour原创 2014-01-31 20:32:05 · 3530 阅读 · 11 评论 -
iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
readwrite:是可读可写特性,需要生成getter和setter方法;readonly是之都特性,只会生成getter方法,不会生成setter方法,不希望属性在类外改变时候使用;alloc 对象分配后引用计数为1retain 对象的引用计数+1copy 一个对象变成新的对象(新内存地址) 引用计数为1 原来对象计数不变assign:是赋值特性,setter方法将传入原创 2014-01-28 09:21:43 · 6180 阅读 · 6 评论 -
iOS开发-strong, weak区别
iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存。但是学习还是很有必要的。在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,在此我也不介绍,网上有很多相关文章。现在我们看看iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与r原创 2014-01-23 17:44:30 · 2343 阅读 · 9 评论 -
iOS开发-NSLog不打印设置
前提:在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件但是当应用跑在设备上时这些输出语句会在很大程度上影响应用的性能,针对这种问题可以写一些宏来控制这些调试信息的输出。在release版本禁止输出NSLog内容因为NSLog的输出还是比较消耗系统资源的,而且原创 2014-01-23 17:16:41 · 4247 阅读 · 10 评论 -
ios开发之MPNowPlayingInfoCenter 锁屏显示正在播放的音乐
今天在床上玩唱吧,听着歌锁屏了,当点亮屏幕的时候,锁屏页面出现了我正在听得歌曲 壁纸也换成了唱吧里面的歌手图片.做ios好几年了,从没有做过这个需求 于是好奇就翻看ios的API文档找到了这个类.如下图 MPNowPlayingInfoCenter 解释即时播放中心能够用于播放APP中正在播放的媒体信息.播放的信息会显示在锁屏页面和多任务管理页面.如果用转载 2014-01-18 23:58:22 · 4250 阅读 · 4 评论 -
iOS开发-ios7 UIAlertView自定义
之前一个项目适配ios7之后,发现原先的UIAlertView无法正常显示。后来发现ios7里面原生态的UIAlertView不支持自定义了。然后就去github上找了下。发现了一个不错的第三方库。和我们之前的使用习惯差不多。mark一下。下面给个简单的示例。1.导入文件。将这两个文件加入我们的工程下。2.添加头文件在需要使用UIAl原创 2014-01-17 10:54:30 · 6141 阅读 · 10 评论 -
iOS开发-ios7,TextView高度确定
升级了xcode5, 适配ios7. 各种坑爹问题..今天又碰到了一个。textview的高度无法正确计算.(之前可以通过textView.contentSize.height来获取一个float类型的高度)但是在ios7上,发现这玩意不管用了。调试了好多遍,发现打印出来的结果都是最早设置的frame高度。 无法动态改变。蛋疼的。后来找了一遍,才发现一种解决办法。原创 2014-01-06 16:42:32 · 2205 阅读 · 9 评论 -
iOS开发-mutating method sent to immutable object错误
今天干活的时候,遇到了这样一个问题..实在是太粗心了。mark下,2014-01-05 11:44:34.762 softwareApp[1435:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[JKDictionary setOb原创 2014-01-05 11:49:25 · 13691 阅读 · 6 评论 -
Object-C. _cmd用法
_cmd是隐藏的参数,代表当前方法的selector,他和self一样都是每个方法调用时都会传入的参数,动态运行时会提及如何传的这两个参数。比如这样一个语句。 NSLog(@"%@",NSStringFromSelector(_cmd));执行这个方法就会输出方法的名称, 这样做是为了跟踪查看方法调用的前后顺序,或者想看看程序到底在那个方法内部崩溃的!另外,原创 2014-01-04 13:42:09 · 6858 阅读 · 6 评论 -
iOS开发-(^)代码块(block)的使用
原文链接 http://blog.csdn.net/totogo2010/article/details/7839061代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行转载 2014-01-04 18:04:37 · 1827 阅读 · 8 评论 -
ios开发-设置UITableView/Cell背景设置
自带的UITableView默认背景是白色的,在某些应用来说显得过于单调。但是我们可以自定义背景,使我们的应用多彩一点。下面介绍两种方法,设置UITableView背景或者Cell背景。1.TableViewCell背景设置-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCe原创 2013-12-19 13:26:28 · 5783 阅读 · 11 评论 -
ios开发-修改应用名称
新建完工程后, 利用xcode生成的app的名字默认是工程名字,因为对应的名字设置成了$(TARGET_NAME)。当我想要修改名字的时候,可以通过下面的方法,很简单。1.按照上图的步骤,逐个选择。其中,在product name选项中输入修改后的应用名字,(如这里的应用名称)2.找到对应的.plist文件。 一般在目录Supporti原创 2013-12-17 12:58:33 · 9344 阅读 · 5 评论 -
ios开发-屏幕截图(UIView转为图像存储到本地)
屏幕截图(UIView转为图像存储到本地)在做课设的时候,涉及到了一个功能,类似屏幕截图一样,把当前视图裁剪下来,当做图片寸到本地相册。实现起来很简单,几行代码的事。下面直接上代码了。1.在头文件导入库。#import 2.在.m中实现方法。 UIGraphicsBeginImageC原创 2013-12-07 17:01:25 · 8590 阅读 · 9 评论 -
ios开发-引导页实现
好久没写博客了,最近事情比较多,各种实验,各种考试。蛋疼阿...今天忙里偷闲,又折腾了会ios。突然想起我正在做的那个客户端没有引导页,自己也没什么头绪,就去问了问群里的大牛们。我是这样形容的:有帅哥美女值班么...像一些应用那样,第一次打开,有几张图片介绍应用使用方法,功能的那个。要怎么实现?然后邪恶哥就告诉我那玩意叫引导页,晓得术语后,我就自己百度去了,在c原创 2013-11-12 23:13:34 · 3636 阅读 · 6 评论 -
ios开发-cocos2d-x适配iphone5
好久没弄cocos2d-x了。今天闲着蛋疼重新玩了下。简单说下自己解决iphone5适配的问题,方法很笨,但是挺简单的。1.在ios目录下的RootViewController.mm文件中加入如下代码// Override to allow orientations other than the default portrait orientation.// This m原创 2013-11-03 21:32:27 · 2663 阅读 · 3 评论 -
ios开发-适配图片大小
有的时候,从服务器或者本地加载进去的一系列图片的尺寸可能不能,这在我们显示图片的时候可能会遇到一些问题。比如把UIImageView的frame写死。 比如固定width,固定height。这样,可能有的图片会正好显示,但有的图片就会出现扭曲变形了。这时候,显然应该根据每个图片的实际尺寸设置UIImageView的frame。下面说说实现方法,很简单。一。声明一个UIIm原创 2013-10-14 20:10:13 · 6830 阅读 · 8 评论 -
ios开发-获取手机相关信息
今天在做客户端的时候,里面有个意见反馈功能。调用系统带的邮件功能,发送邮件到指定邮箱。然后我就想,应该在邮件正文部分添加手机相关内容,比如型号,版本,应用程序的版本等等,这样不仅使用者方便,开发者也能更好的分析。于是,学习了相关的知识,在这里与大家分享。iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息原创 2013-10-14 19:50:26 · 20405 阅读 · 8 评论 -
ios开发-调用系统自带手势
在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touchesEnded 这组方法来控制使用者的手指触控外,也可以用 UIGestureRecognizer 的衍生类別来进行判断。用 UIGestureRecognizer 的好处在于有现成的手势,开发者不用自己计算手指移动轨迹。UIGestureRecognizer的衍生类別有以下几种原创 2013-10-13 19:39:28 · 2505 阅读 · 10 评论 -
ios开发-确定/自适应textView的高度
昨天在做学院客户端的时候,随手clean了下项目。不过xcode又闹脾气了,textview里面的字体大小居然在真机运行的时候普遍小了2号..这下蛋疼了。应该我项目里面textview的frame都是写死的。 比如 UITextView *textview = [[UITextViewalloc]initWithFrame:CGRectMake(0,0, 320,原创 2013-10-11 20:02:40 · 8322 阅读 · 11 评论 -
ios开发-分享一些免费的接口
分享一些免费的接口.无意中查找资料发现,原文链接:http://www.bejson.com/go.php?u=http://www.bejson.com/webInterface.php天气接口气象局接口:http://m.weather.com.cn/data/101010100.html 解析 用例音乐接口虾米接口http://kuan原创 2013-10-03 22:43:14 · 3993 阅读 · 3 评论 -
ios开发-自定义启动画面Default.png加载时间
Default.png图片是在应用打开时候在欢迎界面显示的。默认是全黑的。(系统自带)如果要做更换,只要把需要的图片加入,并且命名为Default.png即可。Default.png图片显示时间和机器加载应用的速度成正比,加载越快,显示时间越短,加载越慢,显示时间越长,如果感觉太快的话,可以用下面的方法自定义显示加载时间。在AppDelegate.m里加入线程延迟。原创 2013-10-04 15:45:31 · 6769 阅读 · 3 评论 -
ios开发-设置view背景
1. 直接给View设置背景 self.view.backgroundColor = [UIColorcolorWithPatternImage: [UIImageimageNamed:@"1.jpg"] ];2.给UIScrollView 设置背景图片这个一般在图片较大,并且视图需要滚动时候使用。 原理都一样,调个函数就是了。原创 2013-10-04 17:14:16 · 2241 阅读 · 8 评论 -
ios开发-應用程式的設定檔info.plist
應用程式的設定檔info.plist 整了一下了,分享給大家(原文链接:http://www.cocoachina.com/bbs/read.php?tid=89684&page=1)1. Application does not run in background(鍵名:UIApplicationExistsOnSu原创 2013-10-04 19:04:14 · 3064 阅读 · 8 评论 -
ios开发-App内启动用户评价
App内启动用户评价,这里介绍一种比较常用的方法。利用url启动AppStore中软件的用户评价界面。代码很简单。如下: NSString *url = [NSStringstringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUs原创 2013-10-04 19:05:30 · 4330 阅读 · 4 评论