Цель C: Как реализовать ABTableViewCell? - PullRequest
1 голос
/ 04 июля 2011

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

  1. 1 X UIImageView
  2. 2 X UILabel
  3. 3 X UIB кнопки

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

Фрагмент моего текущего кода

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* PlaceholderCellIdentifier = @"PlaceholderCell";
    int row = [indexPath row];
    SomeClass *thisClass = [self.someClassArray objectAtIndex:row];

    CustomCell* cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier];
    if (cell == nil)
    {
        cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:PlaceholderCellIdentifier] autorelease]; 

    //Set Avatar imageview
    UIImageView *avatarView = [[UIImageView alloc]initWithFrame:CGRectMake(5, CELL_SPACING,CELL_AVATAR_WIDTH, CELL_AVATAR_HEIGHT)];
    avatarView.tag = 1;

    //Set text Label

    UILabel *textLabel = [[UILabel alloc]initWithFrame:CGRectZero];
    textLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:13.0];
    [textLabel setLineBreakMode:UILineBreakModeWordWrap];
    textLabel.numberOfLines = 0;

    textLabel.tag = 2;


    //Add button1
    UICustomButton *button = [[UICustomButton alloc]init];
    button.tag = 3;


    [self.contentView addSubview:avatarView];
    [self.contentView addSubview:textlabel];
    [self.contentView addSubview:button];


}

 //Set Avatar imageview
 UIImageView *thisAvatarView = (UIImageView *)[self.contentView viewWithTag:1];
 thisAvatarView.image = self.dataForCell.user.avatar;

 //Set data to text Label
 NSString *text = [NSString stringWithFormat:@"%@",self.dataForCell.text];
 CGFloat answerLabelHeight = [CustomCell getHeightOfLabel:self.dataForCell ofType:@"XXX"];

 UILabel *thisTextLabel = (UILabel*)[self.contentView viewWithTag:2];
 [thisTextLabel setFrame:CGRectMake(CELL_TEXT_LEFT_MARGIN, CELL_SPACING+CELL_USERNAMELABEL_HEIGHT+questionLabelheight,CELL_CONTENT_WIDTH - CELL_TEXT_LEFT_MARGIN*1.5, answerLabelHeight)];

 thisTextLabel.text = someData;

 //Set data to button
 UICustomButton *thisButton = (UICustomButton *)[self.contentView viewWithTag:3];
 [thisButton setButtonWithAnswer:self.dataForCell buttonType:@"like" navcon:self.navcon andFrame:CGRectMake(CELL_TEXT_LEFT_MARGIN, totalCommentLabelHeight + CELL_SPACING*4, 45, CELL_BUTTON_HEIGHT)];
 thisLikeButton.imageView.image = [UIImage imageNamed:@"xxxx.png"];

}

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

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