#pragma mark Table view methods
- (UIView *)bubbleView:(NSString *)text from:(BOOL)fromSelf {
// build single chat bubble cell with given text
UIView *returnView = [[UIView alloc] initWithFrame:CGRectZero];
returnView.backgroundColor = [UIColor clearColor];
UIImage *bubble = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fromSelf?@"bubbleSelf":@"bubble" ofType:@"png"]];
UIImageView *bubbleImageView = [[UIImageView alloc] initWithImage:[bubble stretchableImageWithLeftCapWidth:21 topCapHeight:14]];
UIFont *font = [UIFont systemFontOfSize:12];
CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(150.0f, 1000.0f) lineBreakMode:UILineBreakModeCharacterWrap];
UILabel *bubbleText = [[UILabel alloc] initWithFrame:CGRectMake(21.0f, 14.0f, size.width+10, size.height+10)];
bubbleText.backgroundColor = [UIColor clearColor];
bubbleText.font = font;
bubbleText.numberOfLines = 0;
bubbleText.lineBreakMode = UILineBreakModeCharacterWrap;
bubbleText.text = text;
bubbleImageView.frame = CGRectMake(0.0f, 0.0f, 200.0f, size.height+40.0f);
if(fromSelf)
returnView.frame = CGRectMake(120.0f, 10.0f, 200.0f, size.height+50.0f);
else
returnView.frame = CGRectMake(0.0f, 10.0f, 200.0f, size.height+50.0f);
[returnView addSubview:bubbleImageView];
UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(21.0f, 14.0f, size.width+10, size.height+10)];
[img setImage:[UIImage imageNamed:@"bubble.png"]];
[returnView addSubview:img];
[bubbleImageView release];
[returnView addSubview:bubbleText];
[bubbleText release];
return [returnView autorelease];
}
分享到:
相关推荐
"ios-ios 聊天界面 气泡聊天.zip"这个压缩包文件显然包含了一个实现iOS应用内聊天功能的资源集合,特别关注的是聊天气泡的展示。聊天气泡是聊天界面的核心元素,它不仅用于显示发送和接收的消息,而且通过不同的颜色...
在iOS应用开发中,"swift-iOS聊天气泡"是一个常见的功能,特别是在社交、通讯类应用中,用于展示用户之间的对话。聊天气泡通常由一个包含文字或表情的图形元素表示,具有不同的颜色和形状来区分发送者和接收者。...
在iOS应用开发中,用户界面的反馈至关重要,MBProgressHUD就是这样一款强大的开源库,它提供了一种优雅的方式来显示进度指示器或者简单的提示信息,通常被称为“气泡提示”。这个库以其灵活性和易用性在iOS开发者...
3. 动画效果:使用UIView的动画方法(如animate(withDuration:animations:))或者CAAnimation来实现气泡的出现、消失、移动等动画效果。 4. 属性配置:提供接口供外部设置气泡的颜色、大小、箭头方向等属性,使气泡...
在iOS开发中,图片气泡效果是一种常见的UI设计,它常用于消息提示、社交应用或者任何需要突出显示图片的场景。这种效果通过将图片置于一个带有特定形状(如气泡)的遮罩之下,使图片呈现出被气泡框住的视觉效果。在...
这个“iOS在一个图标上加上气泡,显示数字demo”就是实现这一功能的一个示例项目。 首先,我们要理解这个“气泡”是如何创建的。在iOS中,我们可以使用`UIView`或者自定义的`UIView`子类来构建气泡的形状。通常,...
10. **自定义Cell**:在UITableView或UICollectionView中,可以创建自定义Cell来显示气泡文字。这样可以复用代码,提高性能,并且便于维护。 在实际项目中,开发者通常会结合以上技术点,根据需求创建一个可重用的...
标题和描述中提到的"swift-iOS上的气泡弹窗",是一种轻量级的UI组件,它可以在用户界面上以气泡形状显示信息或操作选项。 在Swift中实现这种气泡弹窗,通常会借助自定义视图或者第三方库。这个“SMPopView-master”...
总的来说,这个“威信的聊天气泡效果2”源代码示例涵盖了iOS开发中的多个关键知识点,包括自定义视图绘制、Auto Layout布局、文本显示和交互设计。通过研究这段代码,开发者不仅可以学习如何实现微信式的聊天气泡...
在iOS开发中,气泡按钮(Bubble Button)是一种常见的用户界面元素,通常用于展示通知或者未读消息。这种设计灵感来源于QQ等即时通讯应用,它以其独特的视觉效果和交互方式吸引用户的注意力。在这个"ios-气泡按钮....
通过监听单元格的触摸事件,我们可以触发翻页效果,并在目标页面显示相应的气泡提示。 此外,为了保持良好的性能和响应速度,我们需要优化动画和视图的渲染。例如,利用`CADisplayLink`来控制动画帧率,或者使用`...
在iOS开发中,创建一个具有聊天气泡效果的界面是一项常见的任务,这通常是构建即时通讯应用的基础。聊天气泡的设计可以有效地展示用户之间的对话,同时支持文本和表情的混合显示。下面将详细介绍如何实现这样的界面...
例如,你可以创建一个JXNoticeView实例,设置气泡的内容、位置、样式以及动画类型,然后调用显示方法来展示提示气泡。 在实际应用中,JXNoticeView可以用于各种场景。比如,在用户首次打开应用时,可以显示一个气泡...
上述代码展示了如何创建一个基本的MapKit应用,包括显示地图、获取用户位置、显示大头针以及显示气泡。 6. **JXMapDemo**: 提供的`JXMapDemo`可能是一个示例项目,包含了以上功能的具体实现。你可以下载并运行此...
在iOS开发中,"最近照片气泡弹窗"通常指的是用户界面中展示近期拍摄或访问的照片的一种特殊效果,它以气泡的形式呈现,通常用于图片浏览应用或者系统相册中。这种设计旨在提供一个直观且吸引人的用户体验,让用户...
- **自定义气泡视图**:可以继承UIView或使用SwiftUI构建自定义气泡视图,添加自己的属性和方法,以满足特定需求。 - **扩展消息模型**:创建自定义消息模型,包含不同类型的消息(如文本、图片、语音),并提供...
3. **管理气泡的显示**:在`handleTap`方法中,我们需要遍历所有标注,并根据点击位置和标注的坐标来决定哪些气泡应该显示或隐藏。这可能涉及到计算点击位置到标注坐标之间的距离,以及处理多个气泡可能出现的重叠...
在这个"ios-自定义下拉菜单,有textField的alertView,无输入文本框的alertView和气泡显示.zip"压缩包中,包含了实现几种特定自定义视图的代码和资源。下面将详细介绍其中涉及的关键知识点。 1. **自定义下拉菜单**...
在iOS应用开发中,创建类似微信聊天气泡效果是一项常见的任务,这涉及到用户界面(UI)设计和动画处理。本项目“ios应用源码之威信的聊天气泡效果2”提供了一个实现这一效果的源码示例,适用于2018年的iOS开发环境。这...
首先,UITableView是iOS开发中用于展示大量数据的容器,通过创建UITableView实例并设置数据源和代理,开发者可以动态地加载和显示数据。在这个项目中,UITableView将用作聊天界面,每一行单元格(UITableViewCell)...