在 Bubble Tableview cell tap 上读取 NSBubbledata
Reading NSBubbledata on Bubble Tableview cell tap
我正在开发一个聊天应用程序,我在其中使用 Alex Barinovs
聊天气泡 table 查看示例。我可以在气泡上添加消息和图像。但我想要的是,当我点击任何行或单元格时,我想获取我点击的特定单元格的详细信息。我有一个名为 onListTap 的方法,它是一个 UItapGestureRecognizer
方法,我可以在点击时获取 table 视图的索引路径。但是它 returns 在那个单元格上的数据有点像这样-
tapped cell data - <NSBubbleData: 0x7fe6c3160f10>
任何人都可以告诉我如何读取此 (NSBubbleData) 数据以及如何识别它是哪种类型的数据(图像、文本、视图等)。
这是我的 onListTap 方法:
- (void)onListTap:(UIGestureRecognizer*)recognizer {
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint tapLocation = [recognizer locationInView:_bubbleTable];
NSIndexPath *tapIndexPath = [_bubbleTable indexPathForRowAtPoint:tapLocation];
NSLog(@" tapped cell data - %@",[newMessageArray objectAtIndex: tapIndexPath.row]);
}
}
其中,newMessageArray 是我的气泡 table视图数组。
在 Alex Barinovs 聊天气泡 table 视图中,他们使用 NSBubbleData
作为对象来维护值。当您 select 任何单元格时,您将获得 NSBubbleData
对象 i。我希望您正在使用您的值构建 NSBubbleData
数组。通过获取单元格 indexPath
,您可以从用于构建 NSBubbleData
.
的数组中获取值
在NSBubbleData
对象中你无法获取文字、图片。但您可以获得日期、类型和视图。
检查这个,我认为它会起作用。您可以获得单元格中的文本和图像
别忘了#import "UIBubbleTableViewCell.h"
- (void)onListTap:(UIGestureRecognizer*)recognizer {
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint tapLocation = [recognizer locationInView:_bubbleTable];
NSIndexPath *tapIndexPath = [_bubbleTable indexPathForRowAtPoint:tapLocation];
UIBubbleTableViewCell *cell = [_bubbleTable cellForRowAtIndexPath:tapIndexPath];
for (id Obj in cell.contentView.subviews) {
if ([Obj isKindOfClass:[UILabel class]]) {
UILabel *Lbl = (UILabel *)Obj;
NSLog(@"%@",Lbl.text);
}
if ([Obj isKindOfClass:[UIImageView class]]) {
UIImageView *Img = (UIImageView *)Obj;
//Do Something with Img.image
}
}
}
}
我正在开发一个聊天应用程序,我在其中使用 Alex Barinovs
聊天气泡 table 查看示例。我可以在气泡上添加消息和图像。但我想要的是,当我点击任何行或单元格时,我想获取我点击的特定单元格的详细信息。我有一个名为 onListTap 的方法,它是一个 UItapGestureRecognizer
方法,我可以在点击时获取 table 视图的索引路径。但是它 returns 在那个单元格上的数据有点像这样-
tapped cell data - <NSBubbleData: 0x7fe6c3160f10>
任何人都可以告诉我如何读取此 (NSBubbleData) 数据以及如何识别它是哪种类型的数据(图像、文本、视图等)。
这是我的 onListTap 方法:
- (void)onListTap:(UIGestureRecognizer*)recognizer {
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint tapLocation = [recognizer locationInView:_bubbleTable];
NSIndexPath *tapIndexPath = [_bubbleTable indexPathForRowAtPoint:tapLocation];
NSLog(@" tapped cell data - %@",[newMessageArray objectAtIndex: tapIndexPath.row]);
}
}
其中,newMessageArray 是我的气泡 table视图数组。
在 Alex Barinovs 聊天气泡 table 视图中,他们使用 NSBubbleData
作为对象来维护值。当您 select 任何单元格时,您将获得 NSBubbleData
对象 i。我希望您正在使用您的值构建 NSBubbleData
数组。通过获取单元格 indexPath
,您可以从用于构建 NSBubbleData
.
在NSBubbleData
对象中你无法获取文字、图片。但您可以获得日期、类型和视图。
检查这个,我认为它会起作用。您可以获得单元格中的文本和图像
别忘了#import "UIBubbleTableViewCell.h"
- (void)onListTap:(UIGestureRecognizer*)recognizer {
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint tapLocation = [recognizer locationInView:_bubbleTable];
NSIndexPath *tapIndexPath = [_bubbleTable indexPathForRowAtPoint:tapLocation];
UIBubbleTableViewCell *cell = [_bubbleTable cellForRowAtIndexPath:tapIndexPath];
for (id Obj in cell.contentView.subviews) {
if ([Obj isKindOfClass:[UILabel class]]) {
UILabel *Lbl = (UILabel *)Obj;
NSLog(@"%@",Lbl.text);
}
if ([Obj isKindOfClass:[UIImageView class]]) {
UIImageView *Img = (UIImageView *)Obj;
//Do Something with Img.image
}
}
}
}