我有一个动态设置的table view controller,用于填充新闻类型供稿。我在将一个类与另一个类连接以设置该当前单元格的文本,图像等时遇到麻烦。

要点如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"timelineCell";

    FBGTimelineCell *cell = (FBGTimelineCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    cell.text = [self.googlePlacesArrayFromAFNetworking[indexPath.row] objectForKey:@"message"]; <!-- here is where I want to for example, set the title to the message within this array.
    if (!cell)
    {
        cell = [[FBGTimelineCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
        [cell initTimelineCell];
    }

    UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg", indexPath.row]];
    cell.photoView.image = img;
    return cell;
}


这是FBH... init函数:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {

        // Initialization code
        cellContentView = [[UIView alloc] initWithFrame:CGRectMake(10, 5, 300, 440)];
        cellContentView.backgroundColor = [UIColor whiteColor];

        photoView = [[FBGTimelinePhotoView alloc] initWithFrame:CGRectMake(5, 102, 310, 310)];
        photoView.backgroundColor = [UIColor darkGrayColor];
        [photoView setUserInteractionEnabled:YES];

        UIView *profilePic = [[UIView alloc] initWithFrame:CGRectMake(9, 9, 30, 30)];
        profilePic.backgroundColor = [UIColor darkGrayColor];

        UILabel *usernameLabel = [[UILabel alloc] initWithFrame:CGRectMake(45, 9, 222, 18)];
        usernameLabel.font = [UIFont systemFontOfSize:14.0];
        usernameLabel.text = @"Username";

        UILabel *timestampLabel = [[UILabel alloc] initWithFrame:CGRectMake(45, 25, 222, 17)];
        timestampLabel.font = [UIFont systemFontOfSize:12.0];
        timestampLabel.text = @"3 hours ago";
        timestampLabel.textColor = [UIColor lightGrayColor];

        UILabel *statusLabel = [[UILabel alloc] initWithFrame:CGRectMake(9, 50, 283, 41)];
        statusLabel.font = [UIFont systemFontOfSize:15.0];
        statusLabel.text = @"Status..status..status..status..status..status..status..status..status..status..status..status..status..status..status..";
        statusLabel.numberOfLines = 2;
        statusLabel.lineBreakMode = NSLineBreakByWordWrapping;

        UILabel *likeLabel = [[UILabel alloc] initWithFrame:CGRectMake(9, 413, 32, 21)];
        likeLabel.font = [UIFont systemFontOfSize:13.0];
        likeLabel.text = @"Like";

        UILabel *commentLabel = [[UILabel alloc] initWithFrame:CGRectMake(113, 413, 74, 21)];
        commentLabel.font = [UIFont systemFontOfSize:13.0];
        commentLabel.text = @"Comment";

        UILabel *shareLabel = [[UILabel alloc] initWithFrame:CGRectMake(246, 413, 46, 21)];
        shareLabel.font = [UIFont systemFontOfSize:13.0];
        shareLabel.text = @"Share";

        [self addSubview:cellContentView];
        [self addSubview:photoView];
        [cellContentView addSubview:profilePic];
        [cellContentView addSubview:usernameLabel];
        [cellContentView addSubview:timestampLabel];
        [cellContentView addSubview:statusLabel];
        [cellContentView addSubview:likeLabel];
        [cellContentView addSubview:commentLabel];
        [cellContentView addSubview:shareLabel];


    }
    return self;
}


因此,如果可能的话,我需要能够为cellForRowAtIndexPath函数中设置的每个单元格设置单元格文本和FB..init单元格内的不同视图。

建议,想法?

最佳答案

您应该为需要在cellFroRowAtIndexPath中访问的每个UI元素创建属性(在FBGTimelineCell类中),然后可以使用cell.propertyName访问它们。

关于ios - 调整像元字段- objective-c ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22290643/

10-09 02:22