как дать текстовое поле на камеру в iphone - PullRequest
0 голосов
/ 10 января 2012

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

Я хочу дать текстовое поле только в одной строке, а не во всех.

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
    }

    if ([indexPath row] == 0 && [indexPath section] == 0)
    {
    cell.textLabel.text=@"Tags";
        UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 185, 30)];
        cell.accessoryView = textField;

    }

    if ([indexPath row] == 1 && [indexPath section] == 0)
    {
         cell.textLabel.text=@"Notes";
        cell.detailTextLabel.text=app.Notes;
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }
}

Ответы [ 4 ]

0 голосов
/ 10 января 2012

вы также можете сделать одну вещь установить тег для этого. и добавьте его в ячейку напрямую без accessView. Используйте [cell addSubview:textField]; для добавления в ячейку. позже получите к нему доступ с помощью тега .

0 голосов
/ 10 января 2012

Ваше значение исчезает, когда ваш UITableView решает запросить вашу ячейку.

Посмотрите, что вы делаете тогда: вы создаете новую ячейку с новым UITextField, который - поскольку он новый - не содержит никакого значения. Ваша старая ячейка (и значение с ней) теряется.

0 голосов
/ 10 января 2012

Для сокрытия клавиатуры верны «бериллий» и «стас».Чтобы сохранить текст textField, сохраните текст в методе textFieldDidEndEditing, например:

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    nameString = textField.text;
}

В вашем методе cellForRowAtIndexPath установите текст textField как textField.text = nameString после инициализации textField.

0 голосов
/ 10 января 2012

Для отклонения клавиатуры ваш класс должен соответствовать протоколу UITextFieldDelegate, и вы должны реализовать этот метод:

- (BOOL)textFieldShouldReturn:(UITextField *)txtField {
    [txtField resignFirstResponder];
    return YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...