UITextView в UITableViewCell - PullRequest
       13

UITextView в UITableViewCell

0 голосов
/ 08 декабря 2010

Я нуб.Мне нужно вставить UITextView в UITableViewCell с динамическим изменением размера, и я бы набрал прямо в ячейку.Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

7 голосов
/ 08 декабря 2010

Вам нужно создать подкласс UITableViewCell с UITextField в нем:

@interface CustomCell : UITableViewCell {
    UILabel *cellLabel;
    UITextField *cellTextField;
}

@property (nonatomic, retain) UILabel *cellLabel;
@property (nonatomic, retain) UITextField *cellTextField;

@end

А затем реализовать:

@implementation CustomCell
@synthesize cellLabel, cellTextField;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {

        cellLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    ... // configure your label appearance here

        cellTextField = [[UITextField alloc] initWithFrame:CGRectZero];
        ... // configure your textfield appearance here

    }

    return self;
}

И, наконец, используйте ваши собственные ячейки на:

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

    static NSString *CellIdentifier = @"Cell";

    CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
    ... // configure your cell data source here
    return cell;
}
0 голосов
/ 08 декабря 2010

Это не то, как стандартный UITableView предназначен для работы. Существует определенный способ добавления / редактирования / удаления элементов, если это то, чего вы пытаетесь достичь.

Я бы порекомендовал прочесть Руководство по программированию табличного представления для iOS (в частности, раздел «Вставка и удаление строк и разделов»), так как это поможет вам выбрать правильный путь.

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

...