动态加载字符根据字符串的数量和长度动态加载

原创 2015年07月08日 14:20:23

iOS

- (CGRect)updateSubviewsWithData:(NSArray *)arrayData {
    if ([GlobalMembers IsArraySafe:arrayData] && ![arrayData.firstObject isKindOfClass:[NSDictionary class]]) {
        DLog(@"arrayData member type error, %s", __func__);
        return CGRectZero;
    }
    
    for (UIView *view in self.subviews) {
        [view removeFromSuperview];
    }
    
    UILabel *titleLabel, *contentLabel;
    CGFloat itemWidth, itemHeight;
    CGSize itemSize;
    CGPoint startPt = CGPointMake(0, self.viewEdge.top);
    
    for (NSDictionary *dic in arrayData) {
//        itemWidth = [GlobalMembers actStringWidth:self.fontOne text:[dic objectForKey:@"title"]];
        itemSize = [GlobalMembers actStringSizeFlexibleWithFont:self.fontOne text:[dic objectForKey:@"title"]];
        itemWidth = MAX(0, itemSize.width);
        
        titleLabel = [self titleLabel];
        titleLabel.frame = CGRectMake(self.viewEdge.left, startPt.y, itemWidth, 21);
        titleLabel.text = [dic objectForKey:@"title"];
        [titleLabel sizeToFit];
        [self addSubview:titleLabel];
        
        startPt.x = self.viewEdge.left + itemWidth;
        itemHeight = [GlobalMembers actStringHeight:self.fontTwo
                                               text:[dic objectForKey:@"content"]
                                        stringWidth:self.frame.size.width-startPt.x-self.viewEdge.right];
        itemHeight = MAX(itemHeight, 21);
        
        contentLabel = [self contentLabel];
        contentLabel.frame = CGRectMake(startPt.x, startPt.y, self.frame.size.width-startPt.x-self.viewEdge.right, itemHeight);
        contentLabel.text = [dic objectForKey:@"content"];
        [contentLabel sizeToFit];
        [self addSubview:contentLabel];
        
        startPt.y += itemHeight;
    }

//    if (self.DynamicViewOfTwoBlock) {
//        self.DynamicViewOfTwoBlock(CGSizeMake(self.frame.size.width, startPt.y));
//    }
    
    CGRect newFrame = self.frame;
    newFrame.size.height = startPt.y;
    if (self.myDelegate && [self.myDelegate respondsToSelector:@selector(DynamicViewOfTwoLabel:viewSizeShouldChanged:)]) {
        [self.myDelegate DynamicViewOfTwoLabel:self viewSizeShouldChanged:newFrame];
    }
//    DLog(@"=====view height:%f", self.frame.size.height);
    
    return newFrame;
}

轻松应战Postgres & Greenplum非法/歧义字符加载入库

1. 内核字符集转换实现浅析 2. 加载时常见问题 3. 非法字符库外工具、库内C语言容错的两种解决方案 4. 多分割符外部表自定义C语言扩展解决数据歧义 5. 如何从其它数据库导出数据,将问题消灭在源头
  • 2017年04月25日 20:39

2013编程之美全国挑战赛---相似字符串

总Time Limit: 8000ms Memory Limit: 262144kB Description 对于两个长度相等的字符串,我们定义其距离为对应位置不同的字符数量,同时我们...
  • xiaozhuaixifu
  • xiaozhuaixifu
  • 2013-07-17 14:33:57
  • 1210

Android字符串动态加载

Android资源动态加载
  • gezihau
  • gezihau
  • 2016-10-07 19:56:40
  • 438

如何根据字数多少获取字符串对应高度

这种方法一般用于tableview,制作类似于微博浏览,空间展示动态的功能。表的高度根据图片以及字符串字数确定。 通过文字展示的最大宽度以及文字字体大小确定文字展示的高度 - (CGRect)ge...
  • oneTagTag
  • oneTagTag
  • 2016-05-09 09:00:36
  • 1208

动态加载树动态加载树动态加载树

  • 2009年05月30日 16:45
  • 2KB
  • 下载

根据指定字符长度截取字符串(包含中英文)

public class SplitStr { public static void main(String[] args) { SplitStr ss = new SplitStr();...
  • qq_24626833
  • qq_24626833
  • 2017-09-09 00:59:50
  • 142

、给一组字符串,需要你输出最小长度的字符串与最大长度的字符串,如果有相同最小(大)长度的,就按照给的顺序挨个输出。

【问题描述】给一组字符串,需要你输出最小长度的字符串与最大长度的字符串,如果有相同最小(大)长度的,就按照给的顺序挨个输出。【例如】 【输入】qwert asdfg sdf erd jkjkljsld...
  • u011177305
  • u011177305
  • 2016-03-06 19:27:20
  • 853

动态加载:ViewPager数量

**请大家关注下我的微信公众号:哦哦猿 QQ群:535830326** 在开发中,我们会遇见很多问题,比如我现在说的这个问题,就是经常遇见的。 那就是动态加载ViewPager,根据服务器的值去...
  • zhenliang5553
  • zhenliang5553
  • 2016-03-30 14:57:26
  • 37357

C# 动态加载插件的实现

花了半天时间,终于弄懂了C#如何现实动态加载插件的。就像photoshop一样只要在plugin里面丢几个dll就可以多一个滤镜。 总体思路必将简单 1.必须定义公共接口规范,说白点就是主程序在调...
  • u012804387
  • u012804387
  • 2014-03-25 15:20:30
  • 504

Lua语法小贴士(四)字符串缓冲

我们在写Lua代码的时候,如果需要对一个字符串进行反复的连接操作的话,会造成极大的性能开销。因为字符串是不可变的值,所以当我们对字符串操作的时候,每次都会生成一个新的字符串。例如我们需要对一个1000...
  • ecidevilin
  • ecidevilin
  • 2016-10-11 13:53:31
  • 627
收藏助手
不良信息举报
您举报文章:动态加载字符根据字符串的数量和长度动态加载
举报原因:
原因补充:

(最多只允许输入30个字)