UITableViewCell с xib - программирование
Подтвердить что ты не робот

UITableViewCell с xib

Я разрабатываю приложение для iOS, которое использует xib файлы.

Обычно я использую Storyboard и I don't know how to set up a UITableViewCell with xib files. Когда я делаю xib файл с UITableView, я вижу таблицу с некоторой строкой, теперь мне нужно отредактировать эту строку, чтобы записать то, что я хранил в массиве.

Как я могу использовать xib файл для создания UITableViewCell?

Мне нужно сделать очень простую таблицу: я бы использовал предустановку Basic для ячейки, чтобы отобразить заголовок. Я знаю, что мне нужно подключить делегат и DataSource к владельцу файла для представления таблицы, и я вложил в файл владельца UITableViewDelegate и UITableViewDataSource.

Теперь как я могу редактировать содержимое ячейки? Я нашел в Интернете какое-то руководство, в котором говорится о создании xib файла с помощью UITableViewCell, и я это сделал, но я не знаю, как работать с этим

4b9b3361

Ответ 1

Во-первых, вам нужно создать класс для customCell, который наследуется от UITableViewCell. Теперь добавьте свойства, которые вы хотите использовать в своем customCell. В этом примере я добавил cellImage и cellLabel.

@property (nonatomic, strong) IBOutlet UILabel *cellLabel;
@property (nonatomic, strong) IBOutlet UIImageView *cellImageView;

После этого вам нужно связать UILabel и UIImageView с CustomCell с Nib.

Вам нужно добавить:

- (void)viewDidLoad 
{
    ....
    [self.tableView registerNib:[UINib nibWithNibName:@"xibName" bundle:nil] forCellReuseIdentifier:CellIdentifier];
    .....
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"CustomCellReuse";
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    // Configure the cell...
    [cell.cellImageView setImage:[UIImage imageNamed:@"whatever"]];
    [cell.cellLabel setText = @"whatever"];
    return cell;
}