1:两种方法删除NSUserDefaults所有记录

//方法一
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];//方法二
- (void)resetDefaults {NSUserDefaults * defs = [NSUserDefaults standardUserDefaults];NSDictionary * dict = [defs dictionaryRepresentation];for (id key in dict) {[defs removeObjectForKey:key];}[defs synchronize];
}

2:设置全局navigation barbuttonitem

#pragma mark 设置全局navigation barbuttonitem
-(void)setNaviBarButtonItemImage:(NSString *)imageName andX:(NSInteger)x andY:(NSInteger)y andW:(NSInteger)w andH:(NSInteger)h andTitle:(NSString *)title andSel:(SEL)sel andLOrR:(NSString *)lOr andTitleColor:(UIColor *)color{ UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame =CGRectMake(x,y,w,h); [btn setTitle:title forState:UIControlStateNormal]; if (imageName.length==0 && title.length==0) { } else if (imageName.length==0 && title.length!=0) { [btn setBackgroundColor:[UIColor clearColor]]; [btn setTitleColor:color forState:UIControlStateNormal]; }else if(imageName.length!=0 && title.length==0){ UIImage *image = [UIImage imageNamed:imageName]; [btn setImage:image forState:UIControlStateNormal]; }else if(imageName.length!=0 && title.length!=0){ UIImage *image = [UIImage imageNamed:imageName]; [btn setBackgroundImage:image forState:UIControlStateNormal]; [btn setBackgroundColor:[UIColor clearColor]]; [btn setTitleColor:color forState:UIControlStateNormal]; } [btn addTarget: self action:sel forControlEvents: UIControlEventTouchUpInside]; UIBarButtonItem *bBtn = [[UIBarButtonItem alloc]initWithCustomView:btn]; if ([lOr isEqualToString:@"left"]) { [self.navigationItem setLeftBarButtonItem:bBtn]; }else{ [self.navigationItem setRightBarButtonItem:bBtn]; }
}

3:UITableView设置Section间距

在使用IOS的UITableView时,时常会用到它的UITableViewStyleGrouped分组多section属性。而默认的情况下使用该属性后section之间的间距会比较大,看着很不舒服。那么可以通过以下的代理方法配置UITableView各个section的间距。原理其实很简单,显示效果的各个section间距其实是section头部和底部的组合。配置他们的间距就是配置各个section的头部和底部//section头部间距
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{  return 1;//section头部高度
}
//section头部视图
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{  UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];  view.backgroundColor = [UIColor clearColor];  return [view autorelease];
}
//section底部间距
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{  return 1;
}
//section底部视图
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{  UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];  view.backgroundColor = [UIColor clearColor];  return [view autorelease];
} 

4:解决OBJC_CLASS_$_MBProgressHUD无法引用的问题

虽然用POD把相关文件已经更新下来,但它却没有引入到工程中,要手动对它进行引用(或者直接放弃pod管理此插件,直接引入工程项目源代码中)Undefined symbols for architecture i386:"_OBJC_CLASS_$_MBProgressHUD", referenced from:objc-class-ref in ViewController.old: symbol(s) not found for architecture i386clang: error: linker command failed with exit code 1 (use -v to see invocation)这里的错误是因为你的在building phases中没有引用相关的头文件,因此,只需要在building phase中添加对应的.m文件就可以了。

5:iOS7 下使用SVPullToRefresh 下拉刷新导航栏位置错误

iOS7 下使用SVPullToRefresh 下拉刷新导航栏位置错误;下拉刷新之后,tableview的第一列会跑到导航栏的下面;修正:添加如下代码/***  下拉刷新 增加一个;*///修复下拉刷新位置错误 代码开始if ([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)]) {self.automaticallyAdjustsScrollViewInsets = NO;UIEdgeInsets insets = self.tableView.contentInset;insets.top = self.navigationController.navigationBar.bounds.size.height +[UIApplication sharedApplication].statusBarFrame.size.height;self.tableView.contentInset = insets;self.tableView.scrollIndicatorInsets = insets;}//修复下拉刷新位置错误  代码结束
__block RootViewController *bSelf = self;[self.tableView addPullToRefreshWithActionHandler:^{[bSelf addRows];}];/***  拉到最后 加载更多,增加一个;*/[self.tableView addInfiniteScrollingWithActionHandler:^{[bSelf addMoreRow];}];

6:当改动布局要更新效果时

CGRect headFrame=self.headerView.frame;
headFrame.size.height=200;
self.headerView.frame = headFrame;
[self.headerView setNeedsLayout];
[self.headerView layoutIfNeeded];

7:给UITextField增加一个右边内的图片按键(rightView)

UIButton *addCommentBtn=[[UIButton alloc]initWithFrame:CGRectMake(0, 0, 40,inputTextViewHeight)];
[addCommentBtn setImage:[UIImage imageNamed:@"textViewEditNormal"] forState:UIControlStateNormal];
[addCommentBtn addTarget:self action:@selector(addCommentAction) forControlEvents:UIControlEventTouchUpInside];
_inputTextView.rightView=addCommentBtn;
_inputTextView.rightViewMode=UITextFieldViewModeAlways;

8:NSLog 输出格式集合

• %@     对象
• %d, %i    整数
• %u      无符整形
• %f       浮点/双字
• %x, %X   二进制整数
• %o      八进制整数
• %zu     size_t
• %p      指针
• %e      浮点/双字 (科学计算)
• %g      浮点/双字
• %s       C 字符串
• %.*s      Pascal字符串
• %c       字符
• %C       unichar
• %lld      64位长整数(long long)
• %llu      无符64位长整数
%Lf       64位双字

9:设置UIImage的渲染模式:UIImage.renderingMode

设置UIImage的渲染模式:UIImage.renderingMode
着色(Tint Color)是iOS7界面中的一个.设置UIImage的渲染模式:UIImage.renderingMode重大改变,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。该枚举中包含下列值:1    UIImageRenderingModeAutomatic  // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。  2    UIImageRenderingModeAlwaysOriginal   // 始终绘制图片原始状态,不使用Tint Color。  3    UIImageRenderingModeAlwaysTemplate   // 始终根据Tint Color绘制图片,忽略图片的颜色信息。
renderingMode属性的默认值是UIImageRenderingModeAutomatic,即UIImage是否使用Tint Color取决于它显示的位置。
UIImage *img = [UIImage imageNamed:@ "myimage" ];     img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
使用场景(Toolbar中增加item,item使用背景图,会出现色调为蓝色,如果要为图片原来的色调,则要修改图片的渲染,因为目前是渲染成文字的色调):
@property (weak, nonatomic) IBOutlet UIBarButtonItem *mycollectionItem;UIImage *collectionItemImage=[UIImage imageNamed:@"bottomCollectionNormal"];
collectionItemImage=[collectionItemImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.mycollectionItem.image=collectionItemImage;

10:navigationController当前页隐藏后跳转回去页同样被隐藏

当前页隐藏代码:
[self.navigationController setNavigationBarHidden:YES];
跳转时:
[self.navigationController setNavigationBarHidden:NO];
[self.navigationController popViewControllerAnimated:YES];

IOS开发基础知识--碎片9相关推荐

  1. iOS开发基础知识--碎片44

    iOS开发基础知识--碎片44  iOS开发基础知识--碎片44 1:App跳转至系统Settings 跳转在IOS8以上跟以下是有区别的,如果是IOS8以上可以如下设置: NSURL *url = ...

  2. iOS开发基础知识--碎片27

     iOS开发基础知识--碎片27 1:iOS中的round/ceil/floorf extern float ceilf(float); extern double ceil(double); ext ...

  3. iOS开发基础知识--碎片37

    iOS开发基础知识--碎片37 iOS开发基础知识--碎片37 iOS开发基础知识--碎片37 1:iOS 使用NJKWebViewProgress做webview进度条 引入头文件: #import ...

  4. iOS开发基础知识--碎片41

    iOS开发基础知识--碎片41 1:UIWebView加载本地的HTML NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *bas ...

  5. iOS开发基础知识--碎片19

    iOS开发基础知识--碎片19  1:键盘事件顺序 UIKeyboardWillShowNotification // 键盘显示之前 UIKeyboardDidShowNotification // ...

  6. IOS开发基础知识--碎片33

    1:AFNetworking状态栏网络请求效果 直接在AppDelegate里面didFinishLaunchingWithOptions进行设置 [[AFNetworkActivityIndicat ...

  7. IOS开发基础知识--碎片14

    1:ZIP文件压缩跟解压,使用ZipArchive 创建/添加一个zip包ZipArchive* zipFile = [[ZipArchive alloc] init];//次数得zipfilenam ...

  8. IOS开发基础知识--碎片13

    1:运行程序报the file couldn't be opened because you don't have permission to view it 解决办法:项目->targets- ...

  9. IOS开发基础知识--碎片45

    1:iOS SEL的简单总结 SEL就是对方法的一种包装.包装的SEL类型数据它对应相应的方法地址,找到方法地址就可以调用方法 a.方法的存储位置 在内存中每个类的方法都存储在类对象中 每个方法都有一 ...

  10. IOS开发基础知识--碎片34

    1:第三方插件SKSTableView在IOS7.1.1出现闪退的问题 解决办法,修改其内部源代码: (NSInteger)subRow { id indexpath = [NSIndexPath c ...

最新文章

  1. DCMTK:C ++字符串类OFString的测试程序
  2. java abstractset 继_java集合框架-AbstractSet
  3. 第十一期:30秒内便能学会的30个实用Python代码片段
  4. html5实现无缝滚动的效果,基于JavaScript实现无缝滚动效果
  5. 具有全局观的网络拓扑
  6. NYOJ题目170网络的可靠性
  7. visio画图复制粘贴到word_用VISIO画图 复制完之后粘贴到word中为什么只显示下面一部分?...
  8. u检验中的查u界值表_u检验、t检验、F检验、X2检验
  9. SAP ABAP BDC录屏 数据导入和检验-实例
  10. 吃鸡空投掉落射线检测,粒子系统产生红色信号烟
  11. 唯有卡拉特拉瓦,才敢让建筑飞起来!
  12. LCD2864 T 串行通信 STM32 MSP430 单片机 显示屏 显示测试程序
  13. 期货现货升跌水(期货下跌现货一定下跌吗)
  14. springboot上传下载文件(4)--上传下载工具类(已封装)
  15. OPPO 后端开发 一、二、HR 面面经 (已 OC)
  16. python量化实战 顾比倒数线_顾比倒数线 主图源码
  17. 用js实现网页中小广告弹出
  18. android源码 meizhi,74款安卓和IOS app源码地址
  19. 【论文学习】7、ieee802.11ah中基于深度学习的载波频偏估计
  20. java支持wmv的播放器_支持wmv、mpg、mov、avi格式的网页视频播放代码

热门文章

  1. Docker与容器安全
  2. HBase模式设计之ID顺序增长(rowkey顺序增长)
  3. Nexus启动失败处理:The nexus service was launched, but failed to start.
  4. 在 Linux 下搭建 Git 服务器
  5. Windows XP SP3细节官方详解
  6. Centos-redis安装配置
  7. 多租户数据中心采用SDN的优势和挑战
  8. Ora-00600 错误的代码含义及常用查询
  9. 深圳市房事与公积金相关疑问
  10. Linux 命令(24)—— mv 命令