在iOS中,应使用哪种控件去展示一个附件,这个附件应该保存到哪个位置?

wkzku 发布于 2014/05/28 09:02
阅读 1K+
收藏 0

新手请教各位前辈:

    最近做的一个小的项目中实现了邮件的接收,现在遇到了一些问题,望指教!

    首先看下我的xib文件,主题这里有个小问题,就是邮件的主题如果过长的话我这点空间根本显示不下,有没有自增长的方法来控制主题的这块区域,如果主题过长,自动扩大这个区域,如果主题短,则显示默认的区域。我显示标题使用的时label,是否有更好的控件选择?

    还有一个问题是邮件中的附件,在邮件内容中(邮件内容显示使用的是UITextView)应该使用哪种控件才能做出下图附件的效果?在点击附件的图标后,我想把这个附件保存下来,我应该把这个附件保存到哪个路径下?下载完成后,我再次点击该图标应该怎么打开这个附件?(代码中怎么实现?)

     


以下是问题补充:

@wkzku:没有人做过类似的吗?求各位前辈指教啊! (2014/05/28 09:50)
加载中
0
Padding
Padding
今天又看到这个问题了,发现还是没人回答。。。。。。唉,这不怪我们啊,关于Label自增长问题,暂时是没有好的处理方案,常用的也只是通过判断文字放在标签上需要多大空间然后来手动设置Label大小。关于第二个问题吗,何必难为自己呢,不用非得放到UITextView里吧
0
amonxu
amonxu

问题1:先获取主题的内容size,动态设置高度不行吗

CGSize constraint = CGSizeMake(文本最大宽度, 文本最大高度);

 CGRect rect = [文本 boundingRectWithSize:constraint options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName: 字体} context:nil];

0
AlienJun
AlienJun

第一个问题,你动态计算即可,给你一个实例(目前已经在使用):

UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
    title.backgroundColor = [UIColor clearColor];
    //设置自动行数与字符换行
    [title setNumberOfLines:0];
    title.lineBreakMode = UILineBreakModeWordWrap;
    // 测试字串
    NSString *s = titleStr;
    title.text=s;
    UIFont *font = [UIFont fontWithName:@"TimesNewRomanPS-BoldMT" size:18];
    title.font=font;
    //设置一个行高上限
    CGSize size = CGSizeMake(300,2000);
    //计算实际frame大小,并将label的frame变成实际大小
    CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:NSLineBreakByWordWrapping];
    title.frame=CGRectMake(10,5,labelsize.width, labelsize.height);
    
    [scrollView addSubview:title];



第二个问题:关于效果只是一个按钮(显示了文件名称+各种图标),点击下载文件存放路径Document下自己找个地方即可;附件一般都在最后所以你放在 UITextView控件后,或者里面都无所谓。用什么打开?这个不是什么文件都能打开的,比如最简单的,txt,doc等,用uiwebview就可以,也是最简单的方式。

0
wkzku
wkzku
使用自动布局就可以搞定了
返回顶部
顶部