STTweetLabel介绍UITableViewCell

时间:2013-04-03 17:33:41

标签: iphone objective-c xcode tableview cell

我使用了这个https://github.com/SebastienThiebaud/STTweetLabel

但我正在尝试将其添加到UITableViewCell,如下所示

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

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (!cell) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleNone;

}

STTweetLabel *_tweetLabel = [[STTweetLabel alloc] initWithFrame:CGRectMake(20.0, 60.0, 280.0, 230.0)];
[_tweetLabel setFont:[UIFont fontWithName:@"HelveticaNeue" size:17.0]];
[_tweetLabel setTextColor:[UIColor blackColor]];
STLinkCallbackBlock callbackBlock = ^(STLinkActionType actionType, NSString *link) {

    SString *displayString = NULL;

    switch (actionType) {

        case STLinkActionTypeAccount:
            displayString = [NSString stringWithFormat:@"Twitter account:\n%@", link];
            break;

        case STLinkActionTypeHashtag:
            displayString = [NSString stringWithFormat:@"Twitter hashtag:\n%@", link];
            break;

        case STLinkActionTypeWebsite:
            displayString = [NSString stringWithFormat:@"Website:\n%@", link];
            break;
    }

    NSLog(@"%@",displayString);

    };

    [_tweetLabel setCallbackBlock:callbackBlock];
    [_tweetLabel setText:@"http://www.google.com"];
    [cell addSubview:_tweetLabel];

    return cell;

}

但错误是:

-[__NSArrayM set]: unrecognized selector sent to instance 0x750b160
2013-04-03 15:36:36.425 Shahona Fashion[18426:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM set]: unrecognized selector sent to instance 0x750b160'

所以我的问题是,是否可以添加intro tableView单元格,或者有某种方法以这种方式检测网址?

提前致谢..

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你希望你桌子的第一个单元格与其他单元格不同吗?

您可以尝试使用简单的if语句。

if (indexPath.row == 0)
{
    //set up as "intro cell"
} else {
    //set up the rest of your cells
}

此外,您的错误看起来与您桌面上的代码无关。查看应用中的任何数组。

答案 1 :(得分:0)

您的问题与STTweetLabel有关。这是STTweetLabel 3.0中修复的错误。