一   自定义push方法

/*  参数说明

*  controllerName : push的目标页 例:@“testcontroll”    ---注意不带.h

*  isNibPage     : 目标页是否带 xib 文件

*  setHideTabBar : 当前页是否隐藏 tabBar      -----注意 是当前页 非目标页

*  setDelegate   : 设置委托

*/

- (void)pushNewViewController:(NSString *)controllerName isNibPage:(BOOL) _isNib setHideTabBar:(BOOL) _bool setDelegate:(BOOL) _setdelegate{

if (controllerName.length <= 0) {

return;

}

Class   class_Page = NSClassFromString((NSString *)controllerName);

id viewCtrl_Page = _isNib ? [[class_Page alloc] initWithNibName:controllerName bundle:nil]

: [[class_Page alloc] init];

if (_setdelegate) { [viewCtrl_Page setDelegate:self]; }

if (!m_Params)    { m_Params = [[NSMutableDictionaryalloc]init]; }

[m_Params setValue:_bool == YES ? @"1" : @"0" forKey:@"HideTabBar"];

[viewCtrl_Page setM_Params:[m_Params retain]];

if (isLoginPage) {

if ([GlobalisUserLogin]) {

[self.navigationControllerpushViewController:viewCtrl_Page animated:YES];

}

else{

[selfshowLoginController];

}

}

else

[self.navigationControllerpushViewController:viewCtrl_Page animated:YES];

[viewCtrl_Page release];

if (m_Params) {

[m_Params release];

}

}

二       根据TableView里的button获取父级UITableViewCell

1.   通过对像的父级查找

UIButton *btn_checkBox = (UIButton *)sender;

UITableViewCell * cell = (UITableViewCell *)[btn_checkBox superview];

NSIndexPath* indexPath = [m_tableViewindexPathForCell:cell];

2.   通过点击座标

// 检查用户点击按钮时的位置,并转发事件到对应的accessory tapped事件
- (void)btnClicked:(id)sender event:(id)event
{
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:currentTouchPosition];
if(indexPath != nil)
{
[self tableView:self.tableView accessoryButtonTappedForRowWithIndexPath:indexPath];
}
}

三  常常要算一段文字的长度和高度。下面这段代码可以帮到你

CGSize  fontsize = [tmpCoupon.couponDescsizeWithFont:[UIFontboldSystemFontOfSize:13] constrainedToSize:CGSizeMake(162, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];

  // 计算文本的大小  ios7.0

CGSize textSize = [textViewTemple.text boundingRectWithSize:CGSizeMake(self.imagewidth, MAXFLOAT)                                                         options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading // 文本绘制时的附加选项

attributes:dic  context:nil].size;

四  文本编辑的时候键盘档住页面,下面代码自动收缩

- (void)textFieldDidBeginEditing:(UITextField *)textField{

  CGRect frame = textField.frame;

  int offset = frame.origin.y + 32 - (self.view.frame.size.height - 216.0-10);

  NSTimeInterval animationDuration = 0.30f;

     [UIView beginAnimations:@"ResizeForKeyBoard" context:nil];

[UIView setAnimationDuration:animationDuration];
float width = self.view.frame.size.width;
float height = self.view.frame.size.height;
if(offset > 0){
CGRect rect = CGRectMake(0.0f, -offset,width,height);
self.view.frame = rect;
}
[UIView commitAnimations];

}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
CGRect rect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, self.view.frame.size.height);
self.view.frame = rect;
[UIView commitAnimations];

[textField resignFirstResponder];
return YES;

// 十六进制设置alpha值

+ (UIColor *)convertHexToRGB:(NSString *)hexString alpha:(CGFloat)alpha {

NSString *str;

if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {

str=[[NSString alloc] initWithFormat:@"%@",hexString];

}else {

str=[[NSString alloc] initWithFormat:@"0x%@",hexString];

}

int rgb;

sscanf([str cStringUsingEncoding:NSUTF8StringEncoding], "%i", &rgb);

[str release];

int red=rgb/(256*256)%256;

int green=rgb/256%256;

int blue=rgb%256;

UIColor *color=[UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha];

return color;

}

五  .  数组排序

NSSortDescriptor * sortDescriptor = [[NSSortDescriptoralloc] initWithKey:@"createTime"ascending:NO];

[arrMsgListsortUsingDescriptors:[NSArrayarrayWithObject:sortDescriptor]];

iOS 开发小常识 开发笔记的更多相关文章

  1. iOS AVCaptureSession 小视频开发总结,支持设备旋转

    iOS开发中当我们想要自定义相机拍照或摄像界面时,UIImagePickerController无法满足我们的需求,这时候我们可以使用AVFoundation.framework这个framework ...

  2. Java 开发小常识

    从理论上来讲Java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么多理由来证明它确实占内存呢?两个字,陋习. 1.别用new Boolean().在很多场景中Boolean类型是必 ...

  3. 微信小程序开发详解——小程序,大颠覆!

    微信小程序开发 联系 苏念 188.1414.7927  微信小程序系统开发 微信新功能开发 小程序开发 小程序怎么开发 app小程序开发 简化小程序开发 微信小程序定制 小程序制作 开发微信小程序  ...

  4. iOS开发小技巧 - UILabel添加中划线

    iOS开发小技巧 遇到的问题: 给Label添加中划线,然后并没有效果 NSString *str = [NSString stringWithFormat:@"合计金额 ¥%.2f&quo ...

  5. iOS开发小技巧 - runtime适配字体

    iOS开发小技巧 - runtime适配字体 版权声明:本文为博主原创文章,未经博主允许不得转载,有问题可联系博主Email: liuyongjiesail@icloud.com 一个iOS开发项目无 ...

  6. iOS学小程序从0到发布(适合iOS开发看)

    Emmmm,最近一波失业潮.富某康.某团.摩某.京某.知某.某浪.58 某大面积裁员,那么在这个千钧一发之际,单纯iOS开发也着实不好过,回过头看一下,裁掉的都是单一选手,为了节约成本公司留下的都是身 ...

  7. 微信小程序开发:学习笔记[7]——理解小程序的宿主环境

    微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器

  8. 微信小程序开发:学习笔记[5]——JavaScript脚本

    微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...

  9. 微信小程序开发:学习笔记[4]——样式布局

    微信小程序开发:学习笔记[4]——样式布局 Flex布局 新的布局方式 在小程序开发中,我们需要考虑各种尺寸终端设备上的适配.在传统网页开发,我们用的是盒模型,通过display:inline | b ...

随机推荐

  1. 分享点干货(此this非彼this)this的详细解读

    在javascript编程中,this关键字经常让初学者感到迷惑,这里,针对此this根据查阅的资料和个人的理解分享一下,纯手打,大神勿喷. 首先先说一下this的指向,大致可以分为以下四种. 1.作 ...

  2. Mysql+MHA高可用集群

    http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/

  3. python基础(一)—— 核心数据类型

    Hello World程序 [root@mysql ~]# python3 Python 3.6.5 (default, Jul  8 2018, 11:41:23) [GCC 4.4.7 20120 ...

  4. 剑指Offer(书):替换空格

    题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 分析:通常来说,这样的题有两种方式 ...

  5. 【HIHOCODER 1601】 最大得分(01背包)

    描述 小Hi和小Ho在玩一个游戏.给定一个数组A=[A1, A2, ... AN],小Hi可以指定M个不同的值S1,S2, S3 ... SM,这样他的总得分是 ΣSi × count(Si).(co ...

  6. NYOJ 203 三国志

    三国志 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 <三国志>是一款很经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.现在他把游戏简化一下, ...

  7. XTU 二分图和网络流 练习题 C. 方格取数(1)

    C. 方格取数(1) Time Limit: 5000ms Memory Limit: 32768KB 64-bit integer IO format: %I64d      Java class ...

  8. NYOJ595乱七八糟好坑的水题~~

    乱七八糟 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 一天,PIAOYI查看班级成绩时发现各种乱七八糟的数据,有点晕--但是他现在非常想知道排名情况,你能帮帮他吗?为 ...

  9. NYOJ-673悟空的难题~~水题~~

    悟空的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 自从悟空当上了齐天大圣,花果山上的猴子猴孙们便也可以尝到天上的各种仙果神酒,所以猴子猴孙们的体质也得到了很好的 ...

  10. NYOJ-183赚钱啦,bellman//spfa水过,,题还是蛮变态的赶脚~~

    赚钱啦 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 某国家里有N个城市,分别编号为0~N-1,一个精明的商人准备从0号城市旅行到N-1号城市,在旅行的过程中,从一个城 ...