3、IOS常用方法记录(方便复习) 和 生僻方法抽取到代码块里或者方法分类里(方便使用)
----------------------------------------------------------------------------------------------------------------------------------
常用方法
------
-------
-----
字符串替换
NSString *html = [body stringByReplacingOccurrencesOfString:img[@"ref"] withString:imgHTML];
------
NSUInteger loc = [url rangeOfString:@"baidu"].location;
默认返回的rangeOfString返回值为 range 如果没有找到就返回 {NSNotFound,0} NSNotFound为-1
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { // 如果在path中找不到@“baidu”这个字符串 // [path rangeOfString:@"baidu"].length == 0; // [path rangeOfString:@"baidu"].location == NSNotFound // URL格式:协议头://主机名/路径 // request.URL.path : 获得的仅仅是主机名(域名)后面的路径 // request.URL.absoluteString : 获得的是一个完整的URL字符串 // 1.获得完整的url字符串 NSString *url = request.URL.absoluteString; NSUInteger loc = [url rangeOfString:@"baidu"].location; // 2.找到baidu字符串,返回NO if (loc != NSNotFound) { // 能找到 return NO; // 禁止加载 } // 3.如果没有找到,返回YES return YES; // return loc == NSNotFound ? YES : NO; // return loc == NSNotFound; }
-
-------
获取文件类型 文件MIMEType
---------
或者
--------
[str writeToFile:@"/Users/apple/Desktop/ios6.xml" atomically:YES];
-
-
判断点在不在Rect里
-
数组各个元素 遍历执行方法
[arr makeObjectsPerformSelector:@selector(setSelected:) withObject:@(NO)];
-
清空Point 默认CGPoint 值为CGPointZero;
-
比较2各点是否相等
-
字符串追加
[str appendFormat:@"%d", btn.tag ];
字符串方法 NSString
-
结构体转对象
对象转Point类型 (结构体类型)
dispatch_after 选择-GCD 主线程延迟2秒后执行
7、设置所有当前UINavigationBar的对象的颜色
//For example, to modify the bar tint color for all UINavigationBar instances:
[[UINavigationBar appearance] setBarTintColor:myColor];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar"] forBarMetrics:UIBarMetricsDefault];
------
retina数值为2 和非retina屏幕的数值1
设置frame CGAffineTransForm 动画取消这个view的autoLayout
-----
字符串变类
Class class = NSClassFromString(@"UITabBarButton");
if ([child isKindOfClass:class]) {
----------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------
生僻方法
1、图片拉伸
中间一小块开始往外拉伸
-------
---------
字符串日期转换
/** 1.今年 1> 今天 * 1分内: 刚刚 * 1分~59分内:xx分钟前 * 大于60分钟:xx小时前 2> 昨天 * 昨天 xx:xx 3> 其他 * xx-xx xx:xx 2.非今年 1> xxxx-xx-xx xx:xx */ - (NSString *)created_at { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; // 如果是真机调试,转换这种欧美时间,需要设置locale fmt.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; // 设置日期格式(声明字符串里面每个数字和单词的含义) // E:星期几 // M:月份 // d:几号(这个月的第几天) // H:24小时制的小时 // m:分钟 // s:秒 // y:年 fmt.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy"; // _created_at = @"Tue Sep 30 17:06:25 +0800 2014"; // 微博的创建日期 NSDate *createDate = [fmt dateFromString:_created_at]; // 当前时间 NSDate *now = [NSDate date]; // 日历对象(方便比较两个日期之间的差距) NSCalendar *calendar = [NSCalendar currentCalendar]; // NSCalendarUnit枚举代表想获得哪些差值 NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; // 计算两个日期之间的差值 NSDateComponents *cmps = [calendar components:unit fromDate:createDate toDate:now options:0]; if ([createDate isThisYear]) { // 今年 if ([createDate isYesterday]) { // 昨天 fmt.dateFormat = @"昨天 HH:mm"; return [fmt stringFromDate:createDate]; } else if ([createDate isToday]) { // 今天 if (cmps.hour >= 1) { return [NSString stringWithFormat:@"%d小时前", cmps.hour]; } else if (cmps.minute >= 1) { return [NSString stringWithFormat:@"%d分钟前", cmps.minute]; } else { return @"刚刚"; } } else { // 今年的其他日子 fmt.dateFormat = @"MM-dd HH:mm"; return [fmt stringFromDate:createDate]; } } else { // 非今年 fmt.dateFormat = @"yyyy-MM-dd HH:mm"; return [fmt stringFromDate:createDate]; } } /* if ([self isThisYear:createDate]) { // 今年 if ([self isYesterday:createDate]) { // 昨天 fmt.dateFormat = @"昨天 HH:mm"; return [fmt stringFromDate:createDate]; } else if ([self isToday:createDate]) { // 今天 if (cmps.hour >= 1) { return [NSString stringWithFormat:@"%d小时前", cmps.hour]; } else if (cmps.minute >= 1) { return [NSString stringWithFormat:@"%d分钟前", cmps.minute]; } else { return @"刚刚"; } } else { // 今年的其他日子 fmt.dateFormat = @"MM-dd HH:mm"; return [fmt stringFromDate:createDate]; } } else { // 非今年 fmt.dateFormat = @"yyyy-MM-dd HH:mm"; return [fmt stringFromDate:createDate]; } */

浙公网安备 33010602011771号