- 论坛徽章:
- 0
|
本帖最后由 feiyang10086 于 2012-01-20 20:29 编辑
气泡聊天
Ios代码- 1.- (UIView *)bubbleView:(NSString *)text from:(BOOL)fromSelf {
- 2. UIView *returnView = [[UIView alloc] initWithFrame:CGRectZero];
- 3. returnView.backgroundColor = [UIColor clearColor];
- 4.
- 5. UIImage *bubble = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fromSelf ? @"bubbleSelf" : @"bubble" ofType:@"png"]];
- 6. UIImageView *bubbleImageView = [[UIImageView alloc] initWithImage:[bubble stretchableImageWithLeftCapWidth:21 topCapHeight:14]];
- 7.
- 8. UIFont *font = [UIFont systemFontOfSize:12];
- 9. CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(150.0f, 1000.0f) lineBreakMode:UILineBreakModeCharacterWrap];
- 10.
- 11. UILabel *bubbleText = [[UILabel alloc] initWithFrame:CGRectMake(21.0f, 14.0f, size.width + 10, size.height + 10)];
- 12. bubbleText.backgroundColor = [UIColor clearColor];
- 13. bubbleText.font = font;
- 14. bubbleText.numberOfLines = 0;
- 15. bubbleText.lineBreakMode = UILineBreakModeCharacterWrap;
- 16. bubbleText.text = text;
- 17.
- 18. bubbleImageView.frame = CGRectMake(0.0f, 0.0f, 200.0f, size.height + 40.0f);
- 19. if(fromSelf)
- 20. returnView.frame = CGRectMake(120.0f, 10.0f, 200.0f, size.height + 50.0f);
- 21. else
- 22. returnView.frame = CGRectMake(0.0f, 10.0f, 200.0f, size.height + 50.0f);
- 23.
- 24. [returnView addSubview:bubbleImageView];
- 25. [bubbleImageView release];
- 26. [returnView addSubview:bubbleText];
- 27. [bubbleText release];
- 28.
- 29. return [returnView autorelease];
- 30.}
-
复制代码 效果图:
|
|