随笔分类 - IOS
摘要:在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中。 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦。有没有什么办法可以简化对第三方库的管理呢?有!在使用SDWebImage这个第三方库的时候,我在学习如何将进度展现时,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ) 来管理第三方开源库。 CocoaPods是管理Objective-c 程序中各种第三方开源库关联非常棒的方式,只要安裝好 CocoaPods,在自己程序的根目录下建立一份 Podfile 文字,在里面说明要使用哪些套件,...
阅读全文
摘要:Expect users to swipe up from the bottom of the screen to reveal Control Center. If iOS determines that a touch that begins at the bottom of the screen should reveal Control Center, it doesn’t deliver the gesture to the currently running app. If iOS determines that the touch should not reveal Contro
阅读全文
摘要:iOS7添加了动态调整文字的大小,app可以通过接受通知的方式进行设置iOS 7 introduces Dynamic Type, which makes it easy to display great-looking text in your app.A message at the smallest sizeA message at the largest non Accessibility sizeWhen you adopt Dynamic Type, you get:Automatic adjustments to letter spacing and line height fo
阅读全文
摘要:原文:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TransitionGuide/SupportingEarlieriOS.html#//apple_ref/doc/uid/TP40013174-CH14-SW1On This PageUsing Interface Builder to Support Multiple App VersionsSupporting Two Versions of a Standard AppManaging Multiple Images in
阅读全文
摘要:Scoping the ProjectOn This PageThings Every App Must DoThings Every App Should DoIf You Must Continue to Support iOS 6Knowing your app’s compatibility requirements and customization characteristics gives you some idea of the path to take. Use the following checklists to fill in more details and to s
阅读全文
摘要:- (void)setTitleWithString:(NSString *)title,...{ NSMutableArray *argsArray = [[NSMutableArray alloc] init]; if (title) { //将第一个参数添加到array [argsArray addObject:title]; va_list params; //定义一个指向个数可变的参数列表指针; va_start(params,title);//va_start 得到第一个可变参数地址, ...
阅读全文
摘要:判断NSString字符串为空几乎是每一个开发人员肯定会碰到的问题,对于绝大多数人最先闪过大脑的是下面的方法if([yourTextStringisEqualToString:@""])但是很遗憾,这样的判断往往经常会出现失败的情况,造成很多莫名其妙的bug,例如如果用这种方法判断UITextField是否为空便会出现问题[yourTextField.textisEqualToString:@""]上面这行代即时在用户未进行任何输入的情况下,也会为NO,这是什么原因呢?答案其实很简单,yourTextField.text 在最初创建后的值为nil,nil
阅读全文
摘要:在iOS开发中,特别是在对Web服务调用的时候,经常会遇到请求参数为中文的情况,那么这时候就需要将Url转成UTF-8编码才能进行请求。使用stringByAddingPercentEscapesUsingEncoding:方法可以将string转成UTF-8编码,如下面代码NSURL *url = [NSURL URLWithString: [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
阅读全文
摘要:@protocol ADelegate<NSObject> - (void) methods;@end@interface ClassA:NSObject- (void) Amethods@property(assign, non atomic) id <ADelegate>delegate;@end@implementation ClassA- (void) Amethods{ [delegate methods]; ClassB *classB = (ClassB *)delegate; [classB Bmethods];}@end@interface Class
阅读全文
摘要:UIView* next = [self superview] UIResponder *nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]){ return (UIViewController *)nextResponder; } 此方法是以 “消息响应者链” 为根据 。UIView先响应,如果响应不了,那么如果它有控制器的话就会把消息丢给它的控制器响应,如果没有控制器,那么就丢给它的superView来响应。所以可以UIView...
阅读全文
摘要:/*邮箱验证 MODIFIED BY HELENSONG*/-(BOOL)isValidateEmail:(NSString *)email{ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; return [emailTest evaluateWithObject:emai
阅读全文
摘要:1.获取所在行数 UITableView *table = (UITableView *)self.superview; int numOfSelectedCell = [table indexPathForCell:self].row;2.取消选中状态- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //some functions ...... // 取消选中状态 [tableView deselectRowAtIndexPath:indexPath a.
阅读全文
摘要:AudioToolbox这个库是C的接口,偏向于底层,用于在线流媒体音乐的播放,可以调用该库的相关接口自己封装一个在线播放器类,AudioStreamer是老外封装的一个播放器类,有兴趣的朋友可以研究下。 其实IOS库中有两个可以播放在线音乐的播放器类,AVPlayer和MPMusicPlayerController这两个做简单的播放还不错,但是如果要做专业的音乐播放项目,功能还不够强大,例如:边听边存、断点续传、播放事件等等都无法满足。一下是以前做的笔记,仅供参考;播放流程图:数据结构及接口说明: 1 • 数据类型 2 1.AudioFileStreamID ...
阅读全文
摘要:隐藏了真实的服务器IP 1、采用CFHTTPMessage等 CFURLRef myWebserverURLRef = CFURLCreateWithString(kCFAllocatorDefault, CFSTR("http://192.168.0.1234"), NULL); if(myWebserverURLRef != NULL) { // Create the HTTP message CFHTTPMessageRef theMessageRef = CFHTTPMessageCreateRequest(kCFAllocatorDefa...
阅读全文
摘要:最近做的ios输入键盘在ios5上面有问题,主要是ios5上面中文键盘,会对出来一块,我原来用的是toolbar和输入键盘不是在一起的,而位置是写死的,这样就造成了ios5上面会遮盖,在网上找了下,解决方法如下,实际上就是获得输入键盘的高度,而不要写死位置,这样也避免以后出问题。- (void)viewDidLoad[super viewDidLoad];[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(keyboardWillShown:)name:UIKeyboardWillShowNotifi
阅读全文
摘要:- (UIImage *)resetImage:(UIImage *)sourceImage withSize:(CGSize)size withRect:(CGRect)newImageRect{ UIGraphicsBeginImageContext(size); //size 为CGSize类型,即你所需要的图片尺寸 [sourceImage drawInRect:newImageRect]; //newImageRect指定了图片绘制区域 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGra...
阅读全文
摘要:何时使用self.在网上搜索或者论坛里的回复大多都是简简单单的说这与objc的存取方法有关,如何与存取方式有关究竟他们之间的是什么样的关系就很少有同学回答了。下面以代码来说明问题:创建一个Student类,继承NSObject类,代码: 1: #import <Foundation/Foundation.h> 2: 3: @interface Student : NSObject{ 4: 5: NSString *idd; 6: NSString *name; 7: } 8: @property (nonatomic, ret...
阅读全文
摘要:创建单例的步骤:声明一个单例对象的静态实例,并初始化为nil。在该类的类工厂方法(名称类似于“sharedInstance”或“sharedManager”)中生成该类的一个实例,但仅当静态实例为nil的时候。重载allocWithZone:方法,确保当用户试图直接(而不是通过类工厂方法)分配或初始化类的实例时,不会分配出另一个对象。实现基本协议方法:copyWithZone:、release、retain、retainCount、和autorelease,以保证单例的状态。实现单例的代码例子:(iOS设计模式 page83)#import "Singleton.h"@im
阅读全文
摘要:#import <QuartzCore/QuartzCore.h> //给图层添加背景图片: myView.layer.contents = (id)[UIImage imageNamed:@"view_BG.png"].CGImage; //将图层的边框设置为圆脚 myWebView.layer.cornerRadius = 8; myWebView.layer.masksToBounds = YES; //给图层添加一个有色边框myWebView.layer.borderWidth = 5;myWebView.layer.borderColor = [[UI
阅读全文
摘要:contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,-480),也就是y偏移了- 480(注意向下拉,偏移是负数,向上才是正数,这个我测试过的)contentInset是scrollview的contentview的顶点相对于scrollview的位置,例
阅读全文

浙公网安备 33010602011771号