2013-09-04 2 views
4

У меня есть UITableView с CustomCell. Пользовательские ячейки содержат UILabel и UIImageView.Как получить UITableView Label Текстовая строка - Пользовательская ячейка

Я видел онлайн, что можно получить текст из обычной ячейки UITableView и сохранить его в строке, когда пользователь нажимает на ячейку.

Но как вы можете это сделать, когда используете пользовательскую ячейку? Постепенно имя моего UILabel является «type_label», и оно было определено в заголовочном файле моего CustomCell XIB.

Так в Xcode я не могу использовать:

cell.type_label.text" 

В следующей функции:

-(void)tableView:(UITableView *) tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

Спасибо, Дэн.

+0

Попробуйте: 'YourCustomCellClass * cell = (YourCustomCellClass *) [tableView cellForRowAtIndexPath: indexPath];' – Larme

ответ

12

В tableViewDidSelectRow все что вам нужно сделать, это:

UITableViewCellCustomClass *customCell = (UITableViewVellCustomClass*)[tableView cellForRowAtIndexPath:indexPath]; 

NSString *labelText = [[customCell type_label] text]; 

Это должно заставить вас хотеть вам нужно.

-1

Попробуйте ниже код - Вы должны создать IBOutlet type_label лейбла в CCustomCellClass
(файл -> Новый -> подкласс -> UITableViewCell -> имя его как CustomCellClass)
Затем реализовать ниже код

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath{ 

static NSString *cellIdentifier = @"Cell"; 

static BOOL nibsRegistered = NO; 

if (!nibsRegistered) { 

    UINib *nib = [UINib nibWithNibName:@"CustomCellClass" bundle:nil]; 
    [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier]; 
} 

CustomCellClass *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

if (cell == nil) { 

    cell = [[CustomCellClass alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
} 

cell.type_label.text = @"Rocky"; // setting custom cell label 

return cell; 

} 
+0

Не отвечает на вопрос. – CW0007007

+0

@ CW0007007 При реализации выше кода cell.type_label.text возможно или в моем случае cell.nameLabel.text .... В моем проекте я уже реализовал много раз .... –

+0

Не показывает, как он может получить доступ это в didSelectRow. Вы только показываете ему, как он может установить текст метки customCell, а не то, что он просил. Кроме того, у вас есть статический BOOL, установленный в NO, тогда вы проверяете, нет ли этого. Это всегда будет НЕТ ... это избыточно. – CW0007007

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