文档章节

[10秒学会] - iOS 消息气泡

赵大财
 赵大财
发布于 2016/05/17 23:17
字数 480
阅读 1003
收藏 3

效果图:  数据用的就是小马哥的plist 气泡也是   我这个是纯代码


旧的  -_-!!  朋友说没模型 cell高度也没计算           这个是修改版的样子

                            


code1 这个是旧版

 NSString * str = @"赵大财10秒让你学会写IOS消息气泡 大财10秒让你学会写IOS消息气泡 大财10秒让你学会写IOS消息气泡" ;
        
        [self.contentView addSubview:self.btn];
        [self.btn autoSetDimension:ALDimensionWidth toSize:200]; //首先设置宽度 这里用的是第三方约束
        [self.btn setTitle:str forState:UIControlStateNormal];
        self.btn.titleLabel.font = [UIFont systemFontOfSize:14];
        self.btn.titleLabel.numberOfLines = 0;
        [self.btn layoutIfNeeded]; //这里刷新下 不然得不到高度
        [self.btn autoSetDimension:ALDimensionHeight toSize:self.btn.titleLabel.frame.size.height+40];
        [self.btn autoPinEdgeToSuperviewEdge:ALEdgeRight withInset:40];
        [self.btn autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:40];
        self.btn.contentEdgeInsets = UIEdgeInsetsMake(0, 20, 0, 20);
        UIImage *img = [UIImage imageNamed:@"chat_send_nor"];
        img = [img stretchableImageWithLeftCapWidth:img.size.width*0.5 topCapHeight:img.size.height*0.5];// 这里居中拉伸
        [self.btn setBackgroundImage:img forState:UIControlStateNormal];
        self.contentView.backgroundColor = RGBRandomColor;

code 2 这个是新版

 CGSize titleSize =[messageModel.text sizeWithFontWidth:[UIFont systemFontOfSize:15]];
    CGFloat paowidth = titleSize.width>=200?200:titleSize.width;
    
    
    [self.contentView addSubview:self.btn];
    self.btn.width = paowidth+40;   //这里 都换成frame形式了  

    [self.btn setTitle:messageModel.text forState:UIControlStateNormal];
    self.btn.titleLabel.font = [UIFont systemFontOfSize:15];
    self.btn.titleLabel.numberOfLines = 0;
    [self.btn layoutIfNeeded]; //这里刷新下 不然得不到高度

    
    self.btn.height = self.btn.titleLabel.frame.size.height+30;
    self.btn.x= YLScreenW - paowidth - 40;
    self.btn.y =0;
    UIImage *img = [UIImage imageNamed:@"chat_send_nor"];
    img = [img stretchableImageWithLeftCapWidth:img.size.width*0.5 topCapHeight:img.size.height*0.5];// 这里居中拉伸
    [self.btn setBackgroundImage:img forState:UIControlStateNormal];
    self.contentView.backgroundColor = RGBRandomColor;
    
    messageModel.cellHeight = self.btn.titleLabel.frame.size.height+30;

model:

@property (nonatomic, strong) NSString *text;
@property (nonatomic, strong) NSString *time;


/** cell的高度 */
@property (nonatomic, assign) CGFloat cellHeight;

VC:

#import "messageTableViewCell.h"

@interface MeIndexViewController ()<UITableViewDelegate,UITableViewDataSource>
@property (strong ,nonatomic)UITableView *tableView;

@property (strong,nonatomic) NSArray *dacaiMessageModel;

@end


@implementation MeIndexViewController


- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor YLColorGrayBg];
    self.navigationItem.title = @"我的";
    
    [self.view addSubview:self.tableView];
    [self.tableView autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
    
    NSString *path = [[NSBundle mainBundle] pathForResource:@"messages.plist" ofType:nil];
    NSArray *dictArray = [NSArray arrayWithContentsOfFile:path];
    _dacaiMessageModel = [messageModel mj_objectArrayWithKeyValuesArray:dictArray];
    
    
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return _dacaiMessageModel.count;
}

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    //[messageTableViewCell ]
    messageModel * model = _dacaiMessageModel[indexPath.row];
    return model.cellHeight;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    messageTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kMessageTableViewCellCellIdentifier forIndexPath:indexPath];
    
    [cell daCaiHeight:_dacaiMessageModel[indexPath.row]];
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

}

- (UITableView *)tableView {
    if (!_tableView) {
        _tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStylePlain];
        [_tableView configureForAutoLayout];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.backgroundColor = [UIColor whiteColor];
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        _tableView.showsVerticalScrollIndicator = NO;
        _tableView.alwaysBounceVertical = YES;
        [_tableView registerClass:[messageTableViewCell class] forCellReuseIdentifier:kMessageTableViewCellCellIdentifier];
    }
    return _tableView;
}

 

© 著作权归作者所有

共有 人打赏支持
赵大财
粉丝 22
博文 162
码字总数 38743
作品 0
长沙
私信 提问
苹果“面目全非”的 iOS7 【多图】

北京时间5月18日消息,据国外媒体报道,苹果正加速朝iOS7系统迈进。目前各大媒体的消息都指出,iOS会经历苹果历史上的第一 次重大变更。新形象据称将撇弃贯穿整个iOS发展阶段的绚丽设计,走简...

oschina
2013/05/18
16.4K
116
iOS实现本地通知(local notification)的简单示例

本地通知,local notification,用于基于时间行为的通知,比如有关日历或者todo列表的小应用。另外,应用如果在后台执行,iOS允许它在受限的时间内运行,它也会发现本地通知有用。比如,一个...

木木情深
2014/02/27
0
0
iOS 10 第八个开发者测试版、第七个公测版

苹果今天向开发者发布了 iOS 10 第八个开发者测试版以及第七个公测版,距离第七个测试版仅仅相隔四天的时间。苹果在今年6月举行的 WWDC 上发布了 iOS 10 测试版,目前,我们还不知道 iOS 10...

花仲马
2016/08/28
1K
3
iOS 10 发布:10 大新功能、预装 App 可删、信息更好玩

苹果在今天举行的 WWDC 发布会上,正式推出了 iOS 10。iOS 10 拥有10大新功能,系统的各个方面都得到了增强,信息应用功能更强大,更好玩。照片应用支持全新回忆功能,可以自动整理照片。Sir...

oschina
2016/06/14
4.2K
29
那些在学习iOS开发前就应该知道的事(part 1)

英文原文:Things I wish I had known before starting iOS development—Part 1 设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了。这个界面模...

TomatosX
2015/06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 以后我偷小鱼干养你

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @庞巴哥 :只有这节奏瞬间变得轻松。。。。。。。。。分享Talking Eyes的单曲《In the sun (Extended Version)》: 《In the sun (Extended Ve...

小小编辑
今天
2
0
多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
7
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
10
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
9
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部