Как создать пользовательские ячейки для UITableView - PullRequest
1 голос
/ 05 июля 2011

Я пытаюсь создать UITableViewCell с несколькими метками. Я пытался сделать что-то похожее («Имя» и «Номер телефона» выровнены по левому краю и в две строки, затем «Возраст» выровнены по правому краю в ячейке и, возможно, по центру. Я пробовал разные стили UITableViewCellStyle, но хотел настроить его так, чтобы ячейка могла содержать 3 метки вместо двух. Любая помощь будет принята с благодарностью. Заранее спасибо!

Ответы [ 3 ]

3 голосов
/ 05 июля 2011

Одна вещь, которую вы можете сделать, это создать пользовательский UITableViewCell в конструкторе интерфейсов и добавить в него любые метки и т. Д., Которые вы хотите, и использовать эту ячейку при заполнении строк.

в вашем .h файле вам понадобится IBOutlet UITableViewCell yourCellName

в вашем файле .m

Вы можете настроить свою пользовательскую ячейку следующим образом:

-(void)setUpViewComponents{

        yourCellName.textLabel.text = @"some kind of text";

        yourCellName.textLabel2.text = @"some other text";


        //and so on

}

, тогда в этом методе вы можете заполнить таблицу пользовательскими ячейками

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



        static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];

        if (cell == nil) {

                cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];

        }

        cell = yourCellName; //you can make additional 
                             //changes to the cell here if you want


    return cell;
    }

Извините за грубый пример, надеюсь, он хотя бы поможет вам начать работу.

0 голосов
/ 05 июля 2011

Создайте новый класс, который расширяет UITableViewCell.Я приведу вам пример:

@interface YourCustomCell : UITableViewCell {
    UILabel *lb1,*lb2,*lb3;
}


@implement YourCustomCell

-(id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier{
    if (self=[super initWithFrame:frame reuseIdentifier:reuseIdentifier]){
          lb1=[UILabel alloc] initWithFrame:...];
          [self.contentView addSubview:lb1];
          ...
    }
    return self;
}
0 голосов
/ 05 июля 2011

Если вы хотите иметь свои собственные ячейки в UITableView, вам нужно использовать подкласс UITableViewCell.Есть много примеров этого, таких как этот от Какао С Любовью .

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