Не могу получить текст на UITableViewCell - PullRequest
0 голосов
/ 24 февраля 2011

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

Спасибо

Ответы [ 3 ]

2 голосов
/ 24 февраля 2011

Вы добавляете UILabel к виду ячейки.Так же, как вы сделали это с помощью своей пользовательской кнопки.

Вы можете заранее добавить UILabel во все ячейки.Если щелкнуть UIB-кнопку в ячейке, вы должны где-то сохранить эту информацию о состоянии (NSArray).Когда дело доходит до рендеринга ячейки, вы спрашиваете массив, должна ли ячейка с текущим индексом отображать какой-либо текст, и настраиваете его в таком случае ...

Если вы хотите немедленный вызов рендеринга [self.tableView reloadData]

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (array at index indicates clicked) {
        myCustomCell.label1 = @"foo";
    } else {
        myCustomCell.label1 = @"bar";
    }
}

Если вам не нравятся таможенные клетки.Вы можете применить метку к метке, добавить метку в ячейку и получить ее из ячейки, запросив ее впоследствии по этой метке.

0 голосов
/ 24 февраля 2011

Возможно, вы можете попытаться создать собственный класс кнопки, расширив UIButton и добавив свойства, содержащие ссылки на объекты NSString (или индекс исходного массива, в котором хранятся строки и т. Д.).

Затем, нажав кнопку, вы можете привести отправителя к вашему типу кнопки и просто получить значения свойств.

0 голосов
/ 24 февраля 2011
  1. Сделайте ваши ярлыки глобальными переменными
  2. Создать ячейку yur в качестве ячейки стиля по умолчанию.
  3. Добавьте ваши ярлыки в contentView ячейки без текста.
  4. Добавьте вашу кнопку.
  5. В методе, который эта кнопка вызывает после нажатия, установите тексты для ваших меток.

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    
    customLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 50, 20)];
    customLabel2 = [[UILabel alloc] initWithFrame:CGRectMake(55, 5, 50, 20)];
    [cell.contentView addSubview:customLabel1];
    [cell.contentView addSubview:customLabel2];
    }
    

и

    - (IBAction) click
    {
        customLabel1.text = @"YAYA";
        customLabel2.text = @"GAGA";
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...