IOS 类似聊天框自动适应文字背景图片的设置

-(void)makeView{


    UIImage * leftBubble = [UIImage imageNamed:@"ReceiverTextNodeBkg.png"];

    UIImage * rightBubble = [UIImage imageNamed:@"SenderTextNodeBkg.png"];

    //这个方法可以实现对图片的无损拉伸和拉长  原理是在象数点上进行复制

    //第一个参数   取在宽上的某一列象数  如果图形大小发生改变  则复制这一列象数  直到图形的大小

    

    //第二个参数  同第一个参数  只不过是在高上取一列象数

    //下面表示在宽30px 在长35px处取象数  进行复制  这个方法可以利用在处理按钮和处理聊天气泡处

    

    leftBubble = [leftBubble stretchableImageWithLeftCapWidth:30 topCapHeight:35];

    rightBubble = [rightBubble stretchableImageWithLeftCapWidth:30 topCapHeight:35];

    

    //创建这俩个view 即气泡view他们将加到cellcontentview

    //大小会改变的,只有位置不变  bounds会改变的

    self.leftView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 5, 66, 54)];

    

    _leftView.image = leftBubble;

    

    [self.contentView addSubview:_leftView];

    

    [_leftView release];

    

    

    self.rightView = [[UIImageView alloc]initWithFrame:CGRectMake(32-10-66, 5, 66, 54)];

    _rightView.image = rightBubble;

    

    [self.contentView addSubview:_rightView];

    [_rightView release];

    

    //大小在后面会随着输入的字的对少而变化,所以在这里没必要纠结labelde大小

    self.leftLabel = [[UILabel alloc]initWithFrame:CGRectMake(15, 5, 0, 0)];

    _leftLabel.font = [UIFont fontWithName:@"Arial" size:18];

    _leftLabel.backgroundColor = [UIColor clearColor];

    //自动换行  无线换

    _leftLabel.numberOfLines = 0;

    

    //换行模式

    _leftLabel.lineBreakMode = NSLineBreakByCharWrapping;

    

    [self.leftView addSubview:_leftLabel];

    [_leftLabel release];


    

    //取得有什么字体的方法

   // NSLog(@"%@",[UIFont familyNames] );

    

    self.rightLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 5, 0, 0)];

    

    _rightLabel.backgroundColor = [UIColor clearColor];

    _rightLabel.font = [UIFont fontWithName:@"Arial" size:18];

    _rightLabel.numberOfLines = 0;

    _rightLabel.lineBreakMode = NSLineBreakByCharWrapping;

    [self.rightView addSubview:_rightLabel];

    [_rightLabel release];

    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值