close
当前位置: 物联网在线 > 技术文库 > ios >

iOS 小技巧总结,绝对有你想要的

在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。

UITableView的Group样式下顶部空白处理

//分组列表头部空白处理 UIView *view = [[UIViewalloc] initWithFrame:CGRectMake(0, 0, 0, 0.1)]; self.tableView.tableHeaderView = view;

UITableView的plain样式下,取消区头停滞效果

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {     CGFloatsectionHeaderHeight = sectionHead.height;     if (scrollView.contentOffset.y=0)     {         scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);     }     else if(scrollView.contentOffset.y>=sectionHeaderHeight)     {         scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);     } }

那个,其实,还是用Group样式吧哈哈。

获取某个view所在的控制器

- (UIViewController *)viewController {   UIViewController *viewController = nil;     UIResponder *next = self.nextResponder;   while (next)   {     if ([nextisKindOfClass:[UIViewControllerclass]])     {       viewController = (UIViewController *)next;             break;         }         next = next.nextResponder;     }     return viewController; }

两种方法删除NSUserDefaults所有记录

//方法一 NSString *appDomain = [[NSBundlemainBundle] bundleIdentifier]; [[NSUserDefaultsstandardUserDefaults] removePersistentDomainForName:appDomain];     //方法二 - (void)resetDefaults {     NSUserDefaults * defs = [NSUserDefaultsstandardUserDefaults];     NSDictionary * dict = [defsdictionaryRepresentation];     for (idkeyin dict)     {         [defsremoveObjectForKey:key];     }     [defssynchronize]; }

打印系统所有已注册的字体名称

#pragma mark - 打印系统所有已注册的字体名称 void enumerateFonts() {     for(NSString *familyNamein [UIFontfamilyNames])   {         NSLog(@"%@",familyName);                       NSArray *fontNames = [UIFontfontNamesForFamilyName:familyName];               for(NSString *fontNamein fontNames)       {             NSLog(@"\t|- %@",fontName);       }   } }

获取图片某一点的颜色

- (UIColor*) getPixelColorAtLocation:(CGPoint)pointinImage:(UIImage *)image {       UIColor* color = nil;     CGImageRefinImage = image.CGImage;     CGContextRefcgctx = [self createARGBBitmapContextFromImage:inImage];       if (cgctx == NULL) {         return nil; /* error */     }     size_t w = CGImageGetWidth(inImage);     size_t h = CGImageGetHeight(inImage);     CGRectrect = {{0,0},{w,h}};       CGContextDrawImage(cgctx, rect, inImage);     unsigned char* data = CGBitmapContextGetData (cgctx);     if (data != NULL) {         int offset = 4*((w*round(point.y))+round(point.x));         int alpha =  data[offset];         int red = data[offset+1];         int green = data[offset+2];         int blue = data[offset+3];         color = [UIColorcolorWithRed:(red/255.0f) green:(green/255.0f) blue:                 (blue/255.0f) alpha:(alpha/255.0f)];     }     CGContextRelease(cgctx);     if (data) {         free(data);     }     return color; }

字符串反转

第一种: - (NSString *)reverseWordsInString:(NSString *)str {         NSMutableString *newString = [[NSMutableStringalloc] initWithCapacity:str.length];     for (NSInteger i = str.length - 1; i >= 0 ; i --)     {         unicharch = [strcharacterAtIndex:i];               [newStringappendFormat:@"%c", ch];         }         return newString; }   //第二种: - (NSString*)reverseWordsInString:(NSString*)str {         NSMutableString *reverString = [NSMutableStringstringWithCapacity:str.length];         [strenumerateSubstringsInRange:NSMakeRange(0, str.length) options:NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences  usingBlock:^(NSString *substring, NSRangesubstringRange, NSRangeenclosingRange, BOOL *stop) {           [reverStringappendString:substring];                               }];         return reverString; }

禁止锁屏,


(责任编辑:ioter)

用户喜欢...

关于驱动设备的调试和移植的一些经验总结

对设备驱动最通俗的解释就是驱使硬件设备行动。设备驱动与底层硬件直接打交道,按照硬件设备的具体工作方式读写设备寄存器,完成设备的轮询、中断处理、DMA 通信,进行物理内存向虚拟...


今天给大家介绍7个嵌入式易操作且可以长久使用的技巧

成为一个正式的工程师。它是一个艰辛的过程,需要开发人员维护和管理系统的每个比特和字节。从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。今天...


SMI SM5240E绝对压力传感器

硅微结构(SMI)SM5420E绝对压力传感器是采用SM5180E MEMS压阻式压力传感芯片的小型SO-8封装传感器。这些压力传感器为集成场屏蔽的封装提供了高度可能的稳定性。SM5420E压力传感器提供端口和非...


推出e-Palette出行平台的丰田成了绝对的焦点

CES上的主角开始从新造车公司变成传统车企了,这次在拉斯维加斯推出e-Palette出行平台的丰田成了绝对的焦点。 e-Palette以一台小型巴士为产品基础,基于自动驾驶的功能提供共享出行、物流、...


Java性能调优的11个实用技巧

下面有几个很容易遵循的建议和最佳实践能够帮你创建一个性能良好的应用程序。...


51单片机模拟串口的方法的总结

随着单片机的使用日益频繁,用其作前置机进行采集和通信也常见于各种应用,一般是利用前置机采集各种终端数据后进行处理、存储,再主动或被动上报给管理站。这种情况下下,采集会需...


2017年云计算和数据中心产业的回顾与总结

如果回溯到2016年,很多大型企业的数据中心工作负载正计划向云端迁移。而2017年则是企业的业务向云端迁移的一年,...


电阻器的分类,精心总结!

电阻,英文名resistance,通常缩写为R,它是导体的一种基本性质,与导体的尺寸、材料、温度有关。欧姆定律说,I=U/R,那么R=U/I,电阻的基本单位是欧姆,用希腊字母“Ω”表示,有这样的定义:导...


单片机晶振的21个问题总结

在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题迎刃而解…… 有关51单片机有关...


8个技巧帮你搞定电路板还原到电路图

相信各位工程师都能够根据电路图来准确、快速的完成电路板的焊接。但是在很多实际情况中,摆在工程师面前的问题恰恰相反。通常需要根据实物描绘出产品的电路原理图,如果是小型产品...