Включить несколько меток и изменить их значение в Iphone, цель C - PullRequest
0 голосов
/ 15 января 2011

Я пытаюсь вставить метку в каждый ряд ячейки. Отображение целого числа. и я пытаюсь увеличить количество, если пользователь нажимает кнопку добавления или минус Я могу вставить кнопку в ячейку UITableView, а также функцию для изменения значения. Но когда я нажимаю кнопку «Добавить», она изменяет значение только для последней строки, а не для конкретной строки.

// МОЙ код для вставки метки в каждую ячейку

txtQty = [[UILabel alloc] initWithFrame:CGRectMake(233,7,20,20)];

txtQty.text = [NSString stringWithFormat:@"%@",[nos objectAtIndex:indexPath.row]];

txtQty.tag = count;

txtQty.textColor =[UIColor whiteColor];

txtQty.backgroundColor = [UIColor clearColor];

[cell.contentView addSubview:txtQty];


//Button Creation

UIButton *button2 = [[UIButton alloc] initWithFrame:CGRectMake(180,5,30,30)];

[button2 addTarget:self action:@selector(subAddSubQty:) forControlEvents:UIControlEventTouchUpInside];

[button2 setTag:count];

[cell.contentView addSubview:button2];

Теперь, что происходит, предположим, что в таблице 3 строки и я нажимаю на кнопку добавления 1-й строки, значение получает изменение в последней метке, т.е. в 3-й строке а не 1-го ряда Как решить эти ?? пожалуйста помоги Спасибо

1 Ответ

1 голос
/ 15 января 2011

Почему вы помещаете этикетку в UITableViewCell?У него есть свойство textLabel:

cell.textLabel.text = @"SomeText";

При этом, то, что вы хотите сделать, не очень сложно.Я бы использовал NSMutableArray переменную экземпляра, полную int с.Вы можете инициализировать массив, используя for loop

array = [[NSMutableArray alloc] init];
for (int i = 0; i < someValue; i++) {
    [array addObject:[NSNumber numberWithInt:someInt]];
}

в tableView:cellForRowAtIndexPath:, который вы используете:

cell.textLabel.text = [[array objectAtIndex:[indexPath row]] stringValue];

И в ваших методах кнопок вы увеличиваете так:*

Вы можете получить correctIndex, используя теги.Когда вы инициализируете кнопку в tableView:cellForRowAtIndexPath:, вы можете установить тег:

button.tag = [indexPath row];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...