如何在iOS中创建gmail收件人格式?

时间:2014-05-05 09:58:10

标签: ios objective-c email gmail

我需要从我收到的电子邮件数组中创建一个类似下面的视图,它也有删除选项。

enter image description here

类似于gmail的邮件收件人的东西,除了我的这个应该是scrollview。我的主要问题是使用删除按钮创建背景,该按钮根据电子邮件长度延伸。我目前的方法是使用3个图像作为开头,一个作为结尾使用删除按钮,一个通常用于中间将拉伸。有没有其他或更好的方法来做到这一点?

注意:需要iOS 5及更高版本的支持

1 个答案:

答案 0 :(得分:0)

在这里,我为你创建了一个SuperLabel,虽然它可能需要一些调整..但它肯定会对你有帮助..

SuperLabel.h

#import <UIKit/UIKit.h>

@interface SuperLabel : UIView
- (id)initWithFrame:(CGRect)frame andTitle:(NSString *)title;
@end

SuperLabel.m

#import "SuperLabel.h"

#define MAX_HEIGHT 25.0

@implementation SuperLabel

- (id)initWithFrame:(CGRect)frame andTitle:(NSString *)title
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code

        //Design your label view
        self.backgroundColor=[UIColor colorWithRed:.8 green:.8 blue:.8 alpha:1.0];
        self.layer.borderColor=[[UIColor orangeColor] CGColor];
        self.layer.borderWidth=1.0;
        self.layer.cornerRadius=5.0;

        //Add a Label
        UILabel *label=[[UILabel alloc] initWithFrame:CGRectMake(5.0, 5.0, 100.0, MAX_HEIGHT)];
        label.font=[UIFont systemFontOfSize:12.0];
        label.textColor=[UIColor grayColor];
        label.text=title;
        [label sizeToFit];

        [self addSubview:label];

        //We will get resized frame after using sizeToFit after setting the text in the label.
        CGRect rect=label.frame;

        //Add a button
        UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
        [btn setTitle:@"x" forState:UIControlStateNormal];
        btn.titleLabel.font=[UIFont systemFontOfSize:12.0];
        btn.titleLabel.textColor=[UIColor grayColor];

        rect.origin.x=rect.origin.x+rect.size.width;
        rect.origin.y=0;
        rect.size=CGSizeMake(25.0, MAX_HEIGHT);

        [self addSubview:btn];

        [btn addTarget:self action:@selector(deleteMe:) forControlEvents:UIControlEventTouchDragInside];

        btn.frame=rect;


        //Change the whole frame of the label view
        frame.size.height=MAX_HEIGHT;
        frame.size.width=btn.frame.origin.x+btn.frame.size.width;

        self.frame=frame;


    }
    return self;
}


-(IBAction)deleteMe:(id)sender{
    [self removeFromSuperview];
}
@end

最后使用以下代码添加到您的视图中。

    SuperLabel *label=[[SuperLabel alloc] initWithFrame:CGRectZero andTitle:@"myemail@gmail.com"];
    [self.view addSubview:label];

干杯..