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)

用户喜欢...

avr单片机和stm32区别,avr单片机选型技巧

单片机的发展相当的迅速,现在各个厂商们也在速度、内存、功能上此起彼伏,竞争激烈,同时涌现出一大批拥有代表性单片机的厂商:Atmel、TI、ST、MicroChip、ARM…国内的宏晶STC单片机也是可...


7大技巧助你开发高可靠嵌入式系统

就像很遥远年代的人们思想还很保守,固守着自己一方净土独享着一份安逸。总认为天圆地方一直在平淡而充实的生活,又好似红楼梦中的刘姥姥走进大观园看得眼花缭乱。对于75年以前人传...


MOS管驱动电路的基础总结

详细讲解MOS管驱动电路 在使用MOS管设计开关电源或者马达驱动电路的时候,大部分人都会考虑MOS管的导通电阻、最大电压、最大电流等,也有很多人仅仅考虑这些因素。这样的电路也许是可...


技巧GET~数字电源中的隔离方法

数字电源,隔离 随着互联网和通信基础设施的蓬勃发展,数字控制技术在电信、网络和计算机的电源系统中越来越受欢迎,因为这类技术具备灵活性、器件数量减少、先进的控制算法、系统...


Python垃圾回收机制 总结

作者:banananana Python 垃圾回收机制 内存管理 Python中的内存管理机制的层次结构提供了4层,其中最底层则是C运行的...


Vivado Design Suite 方法和技巧

为一个 RPX 文件编写时序报告 RPX 文件为二进制文件,可帮助您通过 Tcl 命令创建报告并查看图形环境结果。支持该接口的报告命令包括: report_drc、report_methodology、report_power、report_timing、re...


【经验】TTL与COMS的关系总结

TL和COMS电平匹配以及电平转换的方法 一.TTL TTL集成电路的主要型式为晶体管-晶体管逻辑门(transistor-transistor logic gate),TTL大部分都采用5V电源。 1.输出高电平Uoh和输出低电平Uol Uoh≥2.4V,Uol≤0...


C2000浮点运算注意事项——CPU和CLA的差异及误差处理技巧

C28x+FPU架构的C2000微处理器在原有的C28x定点CPU的基础上加入了一些寄存器和指令,来支持IEEE 单精度浮点数的运算。对于在定点微处理器上编写的程序,浮点C2000也完全兼容,不需要对程序做出...


技巧 光学传感器级芯片IC简化手持式光谱仪设计

在近红外(NIR)或可见光谱光学光谱提供了在宽范围的应用表征物质的简单分析方法。 然而,合适的设备的成本和尺寸把技术出来的新兴机会接触不到的地方,特别是在移动和手持设备。 也就...


〖干货〗硬件工程师必知的10个C语言技巧

硬件设计师最常见的工作内容是通过写代码来测试硬件。这10个C语言技巧(C语言仍然是常见的选择)可以帮助设计师避免因基础性错误而导致某些缺陷的产生并造成维护方面的困扰。 为了成...