7

全て、

私はiPhoneプログラミングに非常に慣れていません。次のコードでは、テキストにコメント ラベル内のすべてのテキストを表示したいのですが、現在は切り詰めています。numberofLines も正しく機能していません。現在、これを行っています。「私の名前はフレッドで、私は死んでいません...」ですが、「私の名前はフレッドで、まだ死んでいないので、生きさせてください」というテキスト全体を複数行で表示する必要がある場合でも表示したいです。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 80.0;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = nil;

cell = [self.allCells objectForKey:[NSNumber numberWithInt:indexPath.row]];

if(!cell)
{
    cell = [[[NSBundle mainBundle] loadNibNamed:@"UserCell2" owner:nil options:nil] lastObject];
    cell.backgroundColor = [UIColor clearColor];
    cell.accessoryType = UITableViewCellAccessoryNone;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    [self.allCells setObject:cell forKey:[NSNumber numberWithInt:indexPath.row]];
}

GSAsynImageView *imgView = (GSAsynImageView*)[cell viewWithTag:1000];
UILabel *lblTitle = (UILabel*)[cell viewWithTag:1001];
UILabel *lblComment = (UILabel*)[cell viewWithTag:1003];
UILabel *lbltime = (UILabel*)[cell viewWithTag:1004];

//lblComment setLineBreakMode:NSLineBreakByWordWrapping];
//lblComment.numberOfLines = 0;
//lblComment.lineBreakMode = UILineBreakModeCharacterWrap;

if(self.arrComments.count==0)
{
    imgView.hidden = YES;
    lblTitle.text = nil;
    lblComment.text = nil;
    lbltime.text = nil;
    if(indexPath.row==1)lblTitle.text = @"No comments yet";
}
else
{
    imgView.hidden = NO;

    NSDictionary *dcUser = [self.arrComments objectAtIndex:indexPath.row];

    NSString *strBio = [dcUser objectForKey:@"CommentTxt"];
    NSString *strDisplayName = [dcUser objectForKey:@"CommenterDisplayName"];

    NSString *imgName = [dcUser objectForKey:@"ImageName"];
    NSString *usernamex = [dcUser objectForKey:@"CommenterUserName"];

    if([imgName isKindOfClass:[NSString class]])
    {
        if([imgName rangeOfString:@"facebook"].location!=NSNotFound || [imgName rangeOfString:@"twimg"].location!=NSNotFound)
            [imgView loadImageFromPath:imgName];
        else
            [imgView loadImageFromPath:[NSString stringWithFormat:@"%@images/%c/%@/50x50%@",WEBSERVER,[usernamex characterAtIndex:0],usernamex,imgName]];
    }

    lblTitle.text = strDisplayName;
    lblComment.text = strBio;
    lbltime.text = [self getDateTitle:[dcUser objectForKey:@"Date"]];

}

return cell;
}
4

6 に答える 6

4

この以下のコードを試して、セルに追加してください..

UILabel * lblTitle = [[UILabel alloc]init];
[lblTitle setFrame:CGRectMake(110, 31, 200, 50)];        
lblTitle.text = @"your Text ";
lblTitle.lineBreakMode = UILineBreakModeWordWrap;// add this line 
lblTitle.numberOfLines = 0;// add this  line
lblTitle.font = [UIFont fontWithName:@"Helvetica" size:12];

詳細については、このリンクからのこの投稿を含む私のブログを参照しください

于 2013-02-19T05:25:44.817 に答える
1

これを試して...

UILabel * label = [[UILabel alloc]init];
    [label setFrame:CGRectMake(cell.frame.origin.x , cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height)];
    label.text = @" Text to be displayed in label ";
    label.lineBreakMode = UILineBreakModeWordWrap ;// Wrap at word boundaries
    label.numberOfLines = 0;// this line include multiple lines
    [cell addSubview:label];
于 2013-10-07T10:29:21.880 に答える
0

ラベルに表示したい文字列のサイズがそのラベルのサイズを超えているためだと思います

于 2013-02-19T05:15:55.080 に答える
0

UILabel のプロパティを使用して行数を増やすことができます。お気に入りUILabel* para = [[UILabel alloc]init];

para.numberoOfLines = 10;

また、変更してみてくださいpara.lineBreakMode

于 2013-02-19T05:25:33.677 に答える
0

これを行う最も簡単な方法は、ストーリーボードまたは xib です。テーブル ビューがあるときに自動的に取得されるカスタム セルに、ラベル (および必要なもの) を追加できます。ラベルに特定の幅が設定されていること、およびセルの上下に制約があることを確認してください (行数を 0 に設定してください)。これらがある場合、ラベルは、tableView:heightForRowAtIndexPath: で設定したセルの高さで拡張されます。

于 2013-02-19T05:25:41.057 に答える
0

ラベルの高さを増やし、特定のラベルの行数を 2 にします。

このコードを試して、

lblComment.numberofLines = 2; 
[lblComment setFrame:CGRectMake(100,20,200,70)];
于 2013-02-19T05:30:39.047 に答える