2016-10-14 5 views
1

Я работаю над чат-приложением, где я использую . Я могу добавлять сообщения и изображения на пузыри. Но я хочу, когда я нажимаю на любую строку или ячейку, я хочу получить детали этой конкретной ячейки, которую я прослушивал. У меня есть метод, называемый onListTap, который является методом UItapGestureRecognizer, я могу получить индексный путь представления таблицы при нажатии. Но данные, которые он возвращается на этой ячейке несколько напоминает this-Чтение NSBubbledata на Bubble Tableview cell tap

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 мой пузырь TableView массив.

+0

Эта линия NSLog (@ "похлопал данные ячейки -% @", [newMessageArray objectAtIndex: tapIndexPath.row]); всегда будет возвращать объект, который вы сохранили в своем массиве. Покажите нам, какой объект хранится в массиве, могу ли я помочь вам тогда. –

+0

NSBubbleData * sayBubble = [NSBubbleData dataWithText: _txtchat.text date: [NSDate dateWithTimeIntervalSinceNow: 0] type: BubbleTypeMine]; [newMessageArray addObject: sayBubble]; Здесь _txtchat - это мое текстовое поле, откуда я отправляю текст. –

+0

если вы храните NSBubbleData в массиве вы ушли получить тот же попробовать это может эту работу для вас, чтобы увидеть, что находится внутри NSBubbledata * тест = [newMessageArray objectAtIndex: tapIndexPath.row]; NSLog (результат «:», тест); –

ответ

1

Проверьте это, я думаю, он будет работать. вы можете получить текст и изображение, которое находится в ячейке Не забыл #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 
      } 
     } 
    } 
} 
+0

Можете ли вы помочь мне с еще одним вопросом. Я не могу добавлять ярлыки и просматривать в чате пузырь, например, дату формата даты и т. Д. Внизу каждого пузыря. Не могли бы вы помочь мне с этим? Пожалуйста. –

+0

@AmuuuGaikwad да конечно, можете ли вы добавить еще один вопрос, поэтому я могу видеть ваш код для ярлыков и просмотра, которые вы хотите добавить в нижней части каждого пузыря. –

+0

@ ChiragDjinjuwadiya- не могли бы вы ответить на этот вопрос, я добавил на переполнение стека - [добавление subview в чат-пузырь (ячейка) в iOS]. –

0

В окне таблицы чата в виде пузырьков Alex Barinovs они использовали NSBubbleData как объект для сохранения значений. Когда вы выберете любую ячейку, вы получите объект NSBubbleData i. Надеюсь, вы создадите массив NSBubbleData с вашими значениями. Получив ячейку indexPath, вы можете получить свои значения из массива, который вы использовали для построения NSBubbleData.

В объекте NSBubbleData вы не можете получить текст, изображение. Но вы можете получить дату, тип и вид.

 Смежные вопросы

  • Нет связанных вопросов^_^