iOS学习
happyrabbit456
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AFNetworking Get full http response
You should listen for the AFNetworkingOperationDidStartNotification and AFNetworkingOperationDidFinishNotification events that fire at the beginning and end of the operation:[[NSNotificationCenter转载 2015-01-23 14:58:23 · 1351 阅读 · 0 评论 -
ios开发之倒计时实现的两种方法
方法1:使用NSTimer来实现 主要使用的是NSTimer的scheduledTimerWithTimeInterval方法来每1秒执行一次timeFireMethod函数,timeFireMethod进行倒计时的一些操作,完成时把timer给invalidate掉就ok了,代码如下:[cpp] view plaincopyprint?转载 2015-01-05 09:02:31 · 687 阅读 · 0 评论 -
图片处理
关于图片适应情况的处理1、使用uiview 属性 contentMode 凡是没有带Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。UIViewContentModeScaleAspectFit会保证图片比例不变,而转载 2015-02-17 10:39:19 · 592 阅读 · 0 评论 -
iPhone开发--UITextView中的文字改变时触发的事件
实例化UITextVIew的类对象并将UITextView的实例对象的delegate设为self。[cpp] view plaincopym_contentTextField = [[[UITextView alloc] init] autorelease]; m_contentTextField.frame = CGRectMake转载 2015-02-09 09:54:36 · 2057 阅读 · 0 评论 -
iOS:事件处理
iOS的手势识别模型其实是一个状态机所有手势识别从一个可能状态(UIGestureRecognizerStatePossible)开始,然后开始分析、识别手势,如果识别失败将会进入失败状态 (UIGestureRecognizerStateFailed)。如果识别成功,进入成功状态(UIGestureRecognizerStateRecognized)对于连续性的手势,手势识别从Pos转载 2015-01-19 17:59:03 · 580 阅读 · 0 评论 -
UIButton title换行
UIButton title换行关键代码: [_button setTitle:@"123\n456"forState:UIControlStateNormal]; _button.titleLabel.numberOfLines = 0; _button.titleLabel.lineBreakMode = NSLineBreak原创 2014-12-30 11:07:27 · 773 阅读 · 0 评论 -
iOS开发8:使用Tool Bar切换视图
之前讨论的都是单视图应用程序,而在实际应用中,我们可能要多个视图,并根据用户的需要切换视图。iOS中几种典型的多视图程序:(1)Tab Bar Application:程序的底部有一排按钮,轻触其中一个按钮,相应的视图被激活并显示出来;(2)Navigation-Based Application:其特点是使用navigation controller,而navigatio转载 2015-02-05 21:15:27 · 556 阅读 · 0 评论 -
NSNumber转NSString
假设现有一NSNumber的变量A,要转换成NSString类型的B方法如下:NSNumberFormatter* numberFormatter = [[NSNumberFormatteralloc] init];B = [numberFormatter stringFromNumber:A];[numberFormatter release];转载 2015-01-15 16:26:47 · 655 阅读 · 0 评论 -
XCode中调整字体大小
参考:http://blog.sina.com.cn/s/blog_5d2054d90100jk6l.html1)调出Xcode的preference应该是 Command 键+ , 键或者 点击顶部的 XCode -> Preference2)选择 “Fonts and Colors”3)选择一个Theme, 比如Sunret4)选择该Theme转载 2014-12-26 13:10:33 · 653 阅读 · 0 评论 -
iOS App升级安装 - CoreData数据库升级
如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表、字段等操作),那在覆盖安装程序时就要进行CoreData数据库的迁移,具体操作如下:1.选中你的mydata.xcdatamodeld文件,选择菜单editor->Add Model Version 比如取名:mydata2.xcdatamodel2.设置当前版本转载 2014-12-09 16:19:05 · 510 阅读 · 0 评论 -
iOS开发仿淘宝添加到购物车的动画效果实现
这篇博文实在不知道该起什么名字才能概况我的意思。。。挫语文水平类似于淘宝一样,我们在写一些购物、订餐之类的app的时候,在用户选择购买或者加入购物车时可以添加一个商品飞到购物车中的动画效果,如下图所示:实现这个效果还是不算难的,但涉及的问题比较多,还是挺有学习价值的。主要面对的问题有以下几点1、cell中有button,如何获得该button,即如何知道用户点击的是转载 2015-01-13 21:00:54 · 2236 阅读 · 0 评论 -
触摸,事件,UIGestureRecognizer
1.UIView的触摸控制是在UIView中编程处理,不是在UIViewController中编程处理。2.独占触摸模式。。。3.- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event 在UIView中判断触摸的点是否在UIView中起作用。可以实现一些非矩形的触摸事件。转载 2015-01-13 15:48:03 · 557 阅读 · 0 评论 -
再谈multistage text input(中文输入法)下UITextView的内容长度限制
原文 http://blog.csdn.net/jasonblog/article/details/36894075之前写过一篇《 如何更好地限制一个UITextField的输入长度》,在文章最后得到的结论是可以直接使用UIKIT_EXTERN NSString *const UITextFieldTextDidChangeNotification;进行监听,截断超转载 2015-02-12 13:58:27 · 596 阅读 · 0 评论 -
UIImageView 圆角
UIImageView *tmpLargeIconView = [[UIImageView alloc] initWithFrame:CGRectMake(20.0, 40.0, 280.0, 280.0)]; CALayer *layer = [tmpLargeIconView layer]; [layer setMasksToBounds:YES];转载 2015-01-29 16:28:15 · 897 阅读 · 0 评论 -
ios 压缩图片
转自 http://www.cnblogs.com/likwo/archive/2012/11/30/2796902.html 分两部分,1缩小图片大小2减弱图片质量@1. 缩小图片大小首先我们弄个catogory//头文件@interface UIImage (Compress) - (UIImage *)compressedImage;转载 2015-01-29 14:10:37 · 615 阅读 · 0 评论 -
用drawAtPoint绘制文字
从ios7开始,drawAtPoint:WithFont:等方法已经deprecated,取而代之应该使用drawAtPoint:WithAttributes方法,来设置字体的颜色和大小等,例:[objc] view plaincopyNSDictionary *attrs = [NSDictionary dictionaryWithObje转载 2015-01-09 14:06:39 · 2389 阅读 · 0 评论 -
UIScrollView 实践经验
UIScrollView(包括它的子类 UITableView 和 UICollectionView)是 iOS 开发中最常用也是最有意思的 UI 组件,大部分 App 的核心界面都是基于三者之一或三者的组合实现。UIScrollView 是 UIKit 中为数不多能响应滑动手势的 view,相比自己用 UIPanGestureRecognizer 实现一些基于滑动手势的效果,用 UIScroll转载 2014-12-19 14:30:02 · 535 阅读 · 0 评论 -
Objective-C 对 URL 进行 URLEncode 编码
在 iOS 程序访问 HTTP 资源时需要对 URL 进行 Encode,比如像拼出来的 http://unmi.cc?p1=%+&sd f&p2=中文,其中的中文、特殊符号&%和空格都必须进行转译才能正确访问。在 Java、.net 和 JS 中都有相应的 encodeURL 方法可用,在 Objective-C 语言中,你可以试下- (NSString *)stringByAd转载 2015-01-26 15:20:22 · 527 阅读 · 0 评论 -
iOS7隐藏状态栏 status Bar
IOS7中,不仅应用的风格有一定的变化,状态栏变化比较大,我们可以看到UIVIEWCONTROLLER的状态栏与导航栏基本是一体的。因此UIVIEWCONTROLLER的HIDE/SHOW状态的方法也跟其他版本的不一样了。 在IOS7以前的版本,HIDE/SHOW是通过以下代码实现[[UIApplication sharedApplication转载 2015-01-08 14:59:18 · 591 阅读 · 0 评论 -
IOS上 关于状态栏的相关设置(UIStatusBar)
IOS上 关于状态栏的相关设置(UIStatusBar)ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到:前景部分:就是指的显示电池、时间等部分;背景部分:就是显示黑色或者图片的背景部分;如下图:前景部分为白色,背景部分为黑色 注意:这里只涉及到ios7以及更高转载 2015-01-08 14:57:29 · 1482 阅读 · 0 评论 -
10大iOS开发者最喜爱的类库,ios开发者类库
该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾。每个团队都要根据以下规则选出五个最好的库:1)不能投自己写的库;2)排除大的架构,比如游戏类架构;3)排除不在设备上运行的库,例如CocoaPods或者Rack::CoreData也排除在外。最终评选出了如下10大iOS开发者最喜爱的库:转载 2015-01-06 16:12:32 · 604 阅读 · 0 评论 -
判断用户的是iPhone还是iPad
在IOS3.2及以后的版本中, 可以使用UIKit中定义的函数UI_USER_INTERFACE_IDIOM来判断, 该函数返回两个值为UIUserInterfaceIdiomPhone和UIUserInterfaceIdiomPad.为方便可在代码中定义isiPad来直接判断code1#define isiPad (UI_U转载 2015-01-06 14:22:42 · 736 阅读 · 0 评论 -
检测iPhone/iPod Touch/iPad设备类型
更新了一下,支持iPhone4和iPad,iPod Touch4#import #import enum { MODEL_UNKNOWN, MODEL_IPHONE_SIMULATOR, MODEL_IPOD_TOUCH, MODEL_IPOD_TOUCH_2G, MODEL_IPOD_TOUCH_3G, MODEL_转载 2015-01-06 14:19:30 · 639 阅读 · 0 评论 -
xcode之Application Loader
从2010年年中开始,开发者上传软件必须使用Application Loader这个MAC机上的应用程序。因此必须有MAC操作系统才能上传软件,没有条件的可以考虑暂借其他人的MAC笔记本电脑或在电脑上安装MAC虚拟机(安装教程参考Windows环境下用虚拟机安装MAC系统教程)。提示:如果您安装了最新版的XCode开发环境。对于在4.2及以上版本,Developer/Application转载 2014-11-30 19:27:14 · 1818 阅读 · 0 评论 -
iOS开发:避免MPMoviePlayerViewController播放完毕后自动dismiss,进入后台自动dismiss - Azure_Sagi
MPMoviePlayerViewController已经实现了一些通知的监听并对MPMoviePlayerController实现了一些控制,比如: 1. 监听UIApplicationDidEnterBackgroundNotification通知,调用[movieplayer stop],播放器停止。2. 监听MPMoviePlayerPlaybackDidFin转载 2015-03-09 10:52:11 · 743 阅读 · 0 评论 -
ios 监听app从后台恢复到前台
正常情况下,在AppDelegate中实现下面两个方法,能够监听从后台恢复到前台[objc] view plaincopy- (void)applicationDidEnterBackground:(UIApplication *)application { log4info(@"---applicationDidEnterB转载 2015-05-19 11:32:06 · 2269 阅读 · 0 评论 -
让UILabel顶部对齐
xcode中默认的UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中。如下图所示(图片来自stackoverflow): 比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项。所以如果你想让你的文字顶部对齐,那么就需要自己想办法了。 stackoverflow.com 上提供了几种方法来达到顶部对齐的效果。转载 2015-06-01 17:32:00 · 592 阅读 · 0 评论 -
ios开发——NSCopying与NSMutableCopying协议
协议 不是所有的对象都支持copy和mutableCopy,一般自定义的类需要继承NSCopying和NSMutableCopying协议,并对协议中的方法进行实现才满足使用条件。需注意NSObject没有实现这两个协议,但是copy和mutableCopy这两个方法是NSObject定义的. 加上一句(记得不大清楚了,可以去验证一下),NSString对象若使用mutab转载 2015-05-21 18:17:26 · 720 阅读 · 0 评论 -
复制对象(二)<NSCopying>协议和属性的copy特性
如果要用copy或mutableCopy方法复制自己定义的类对象,那么该类必须要实现或协议。否则将会导致程序崩溃:控制台输出为:[plain] view plaincopy2014-02-01 01:11:09.087 Chocolate[951:303] -[Desserts copyWithZone:]: unre转载 2015-05-21 18:16:21 · 529 阅读 · 0 评论 -
复制对象(一)copy和mutableCopy方法
通过copy方法可以创建可变对象或不可变对象的不可变副本,对于不可变副本,其对象的值不可以改变。通过mutableCopy方法可以创建可变对象或不可变对象的可变副本,对于可变副本其对象是可变的。复制分为浅复制和深复制两种:浅复制只是复制指向对象的指针,并没有复制对象的具体内容。深复制则创建了要复制对象的具体内容,并返回指向对象副本的指针。对于复制Foundation中的转载 2015-05-21 18:14:08 · 748 阅读 · 0 评论 -
AVAudioPlayer和AVAudioPlayerDelegate-iOS音频播放器
学习总是在进行。iPhone可以播放音频文件。这个我想地球人都知道。但是如何播放?今天来学习一下。现学现卖吧!1.加入音频相应的框架到项目中。#import2.声明音频播放类,并且实现AVAudioPlayerDelegate协议@interface SquareViewController : UIV转载 2015-05-05 10:39:34 · 6399 阅读 · 0 评论 -
ios开发——UITextField中设置placeholder字体颜色
设置placeholder字体颜色 声明TextField时,往往由于背景的原因,默认的placeholder字体颜色不够清晰,这里是直接设置placeholder的颜色属性[objc] view plaincopyprint?//搜索框设置 UITextField *searchTxt = [[UITextFiel转载 2015-05-04 10:57:30 · 1146 阅读 · 0 评论 -
(UIImage *)imageNamed
+ (UIImage *)imageNamed:(NSString *)name导致的内存问题这种方法在application bundle的顶层文件夹寻找名字的图象 , 如果找到图片, 系统缓存图象。图片内容被加载到系统内存中,使用时直接引用到系统内存。 所以当图片比较大时,程序使用的内存会迅速上升导致内存警告并退出。 特别在使用Interface Bui转载 2015-04-28 16:51:22 · 540 阅读 · 0 评论 -
IOS新浪微博开发--分享、授权登录
一、准被工作 1.注册成为开发者,创建应用项目,获取APPkey 2.添加 SDK 文件到工程 将从 GitHub 上下载的 libWeiboSDK 文件夹添加至工程,其中包含 WeiboSDK.h libWeiboSDK.a 和 WeiboSDK.bundle 三个文件。在工程中引入静态库之后,需要在编译时添加 –objC转载 2015-04-14 10:33:20 · 2730 阅读 · 0 评论 -
IOS-新浪微博授权
关于授权,其实官方的SDK文档写得很详细,我就在这里简要阐述一下步骤,和一些需要注意的地方PS:大部分内容出自新浪官方SDK文档一、到新浪开放平台注册成为开发者http://open.weibo.com/二、因为我们是开发IOS移动应用,所以选择创建应用创建完后会得到一个App Key 和App Secrect,App Key在后面开发时用来注册应用,后者我目前还没转载 2015-04-14 10:19:59 · 741 阅读 · 0 评论 -
Xcode定义Preprocessor Macros,编译宏。
假如工程中,有iphone和iPad两个相同target。要实现在iPhone和iPad的同一个程序块,不同的逻辑。这里就可以用到Preprocessor Macros了。只要把你的宏加到Preprocessor Macros里就行了。使用方法:#ifdef HD_VERSION ...;#endif转载转载 2015-04-23 16:52:18 · 3104 阅读 · 0 评论 -
UIScrollView控件的一些简单介绍
1.UIScrollView控件是什么(1)移动设备的屏幕大小是有限的,因此直接展示在用户眼前的数据内容也是有限的(2)当展示的内容过多,超出屏幕时,用户可以通过滚动手势来查看屏幕以外的内容(3)普通的UIView不具备滚动功能,不能显示过多的内容(4)UIScrollView是一个可以滚动的视图控件,可以展示大量内容,并且可以通过滚动手势查看所有内容2.转载 2015-03-23 15:05:35 · 500 阅读 · 0 评论 -
iPhone开发技巧之环境篇(7)--- 区分不同版本的iPhone
执行环境可以从 UIDevice 的属性 model 得到在现在执行的环境。例子如下:12345678910NSString *modelname = [[UIDevice currentDevice]model];if ([modelname isEqualToString:@"iPhone"]) { // iPhone}转载 2014-11-30 11:28:53 · 549 阅读 · 0 评论 -
MPMoviePlayerViewController视频播放
[objc] view plaincopy//通过网络地址获取视频 [objc] view plaincopy [objc] view plaincopyNSString *path = [NSString stringWithFormat:@"http://转载 2015-03-05 11:23:14 · 649 阅读 · 0 评论 -
iOS 合并使用多个Storyboard
storyboard用起来很是方便。在开发中很有可能是多个人创建了多个storyboard。但最后,总是要把所有的storyboard“合并”在一起。总结一下自己的想法,不知道有没有其他的方式“合并”。 创建一个使用storyboard和ARC的single view application工程。然后common + N -> User Interface -> Storybo转载 2015-02-27 09:56:13 · 622 阅读 · 0 评论
分享