UITableViewCell с UISwitch приводит к тому, что .tag = 1 становится нулевым - PullRequest
1 голос
/ 11 марта 2011

У меня есть пользовательский табличный вид с 6 строками.В 5 строках есть поля UITextFields, а в 1 строке есть переключатель UIS.

Я добавляю текстовые поля следующим образом:

switch (indexPath.row) {
            case 0:
                txtLabel.text = NSLocalizedString(@"Name:", @"");
                txtField.tag=1;
                [txtField becomeFirstResponder];
                [cell.contentView addSubview:txtField];
                [txtField release];
                break;

в

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

.переключатель добавляется следующим образом:

case 3:
                txtLabel.text = NSLocalizedString(@"Male:", @"");
                UISwitch *mySwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
                cell.accessoryView = mySwitch;
                [mySwitch setTag:6];
                break;

Я читаю значения в другом методе, например:

UITextField *daName = (UITextField *)[self.view viewWithTag:1];

Но по какой-то причине, как только я добавляю UISwitch, значение daName становится нулевым,Остальные значения читаются хорошо (поэтому тег 2 в порядке, тег 3 в порядке и т. Д.)

Что мне здесь не хватает?Потому что, когда я удаляю UISwitch, я получаю значение обратно из тега 1 ...

Заранее спасибо!

EDIT

Я просто вижучто, как только у меня будет 6 строк в табличном представлении, элемент с тегом id 1 становится пустым ... Как только у меня будет 5 строк, я могу получить все значения ...

Ответы [ 3 ]

0 голосов
/ 28 марта 2011

Хорошо, я добавил изменяемый массив и добавил текстовые поля в массив. Таким образом, мне больше не нужно использовать тег, и это работает нормально ...

0 голосов
/ 23 декабря 2011
 UISwitch *daName = (UISwitch *)[self.view viewWithTag:tag];

 if (daName.on){
  // handle the switch of particular of tag 


}
0 голосов
/ 11 марта 2011

Я где-то читал в stackoverflow, что вы не должны использовать 0 или 1, когда устанавливаете теги, я не могу вспомнить, где, но я думаю, что там упоминалось что-то про default? может стоить поиска ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...