蓝懿iOS 技术内容交流和学习心得 11.9

今天上午讲了昨天点作业,然后讲了自定义cell的高度随显示内容的高度变化而变化,主要解决步骤以label为例:1、通过

CGRect rect= [label.textboundingRectWithSize:CGSizeMake(label.bounds.size.width,CGFLOAT_MAX)options:NSStringDrawingUsesLineFragmentOriginattributes:@{NSFontAttributeName:label.font}context:nil];

方法获取文本内容的高度和宽度;CGFLOAT_MAX最大,@{NSFontAttributeName:label.font} 字体类型获取文本高度;

2、修改labelframe一个值: CGRectframe = label.frame;     frame.size.height=rect.size.height;

3、刷新label高度; label.frame= frame;

4、设置cell高度为文本高度+cell原来高度;

-(CGFloat)tableView:(UITableView *)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath{

   Weibo*w = self.weibos[indexPath.row];

   CGRectrect = [w.textboundingRectWithSize:CGSizeMake(225,CGFLOAT_MAX)options:NSStringDrawingUsesLineFragmentOriginattributes:@{NSFontAttributeName:[UIFontsystemFontOfSize:17]}context:nil];

   returnrect.size.height+90-20}

下午讲递归

  NSString* result = @"";    NSString* prevChar = @"";    NSUInteger slen = [json length];    BOOL needrec = NO;    NSString* lStr = @"";        for (int i=0; i < slen; i++) {        NSString* sc = [json substringWithRange:NSMakeRange(i,1)];                if ([sc isEqualToString:@"{"] && (!needrec))        {            if ([result length]>0) {                // delete left and right space                [result stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];                if ([[result substringWithRange:NSMakeRange(0,1)] isEqualToString:@","])                {                    result = [result substringWithRange:NSMakeRange(1,[result length]-1)];                }                NSLog(@"add (%d)deep json object :%@ ",level,result);                result = @"";            }            else            {                NSLog(@"add (%d)deep json object : object name is null",level);            }                        lStr = [json substringWithRange:NSMakeRange(i+1,slen-i-1)];            break;        }                if ([sc isEqualToString:@"["] && (!needrec))        {            if ([result length]>0) {                // delete left and right space                [result stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];                if ([[result substringWithRange:NSMakeRange(0,1)] isEqualToString:@","])                {                    result = [result substringWithRange:NSMakeRange(1,[result length]-1)];                }                NSLog(@"add (%d)deep json array : %@",level,result);                result = @"";            }            else            {                NSLog(@"add (%d)deep json array : array name is null",level);            }                        lStr = [json substringWithRange:NSMakeRange(i+1,slen-i-1)];            break;        }                if ([sc isEqualToString:@"}"] && (!needrec))        {            NSLog(@"Add (%d) a member%@",level,result);            level = level -1;            result = @"";            continue;        }                if ([sc isEqualToString:@"]"] && (!needrec))        {            NSLog(@"Add (%d) a array member%@",level,result);            level = level -1;            result = @"";            continue ;        }                if ([sc isEqualToString:@"\""] && (![prevChar isEqualToString:@"\\"]))         {            needrec = !needrec;        }                    result = [result stringByAppendingFormat:@"%@",sc];                    prevChar = sc;            } 

    

   // Loop

    if (0 < [lStr length])    {        [self testPetch:lStr forDeep:level+1];    }        return ;}

学习ios  重要还是要理清楚思路  在做或者看老师代码的时候 自己多想想为什么  不要自己看着就抄       另外还是要推荐一下 蓝懿IOS这个培训机构  和刘国斌老师刘国斌老师还是很有名气的,听朋友说刘老师成立了蓝懿iOS,,老师讲课方式很独特,能够尽量让每个人都能弄明白,有的比较难懂的地方,如果有的地方还是不懂得话,老师会换个其它方法再讲解,这对于我们这些学习iOS的同学是非常好的,多种方式的讲解会理解得更全面,这个必须得给个赞,嘻嘻,还有就是这里的学习环境很好,很安静,可以很安心的学习,安静的环境是学习的基础,小班讲课,每个班20几个学生,学习氛围非常好,每天都学到9点多才离开教室,练习的时间很充裕,而且如果在练习的过程中有什么困难,随时可以向老师求助,不像其它机构,通过视频教学,有的甚至学完之后都看不到讲师本人,问点问题都不方便,这就是蓝懿与其它机构的区别,相信在刘国斌老师的细心指导下,每个蓝懿学员都能找到满意的工作,加油!

                                                                  写博客第三十天;

                                                                              QQ:565803433​


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值