0

セクションヘッダーを折り返そうとしていますが、役に立ちUILineBreakModeWordWrapません。私が間違っていることについて何か考えはありますか?

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{ 
    UIView *rOView = [[UIView alloc] initWithFrame:CGRectMake(10,0,300,60)] ;   
    UILabel *sectionLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    sectionLabel.backgroundColor = [UIColor clearColor];
    sectionLabel.font = [UIFont boldSystemFontOfSize:18];
    sectionLabel.frame = CGRectMake(70,18,200,20);
    sectionLabel.text =  @"A really really long text A really really long text A really really long text";
    sectionLabel.textColor = [UIColor blueColor];
    sectionLabel.numberOfLines = 0;
    sectionLabel.lineBreakMode = UILineBreakModeWordWrap;

    [roView addSubview:sectionLabel];
    return roView; 
}
4

1 に答える 1

0

ラベルに意味のあるフレームを指定していません。CGRectZeroのみを指定しています。ラベルを設定したら-sizeToFit、次のように呼び出します。

UILabel *sectionLabel = [[UILabel alloc] initWithFrame:CGRectZero];
sectionLabel.backgroundColor = [UIColor clearColor];
sectionLabel.font = [UIFont boldSystemFontOfSize:18];
sectionLabel.frame = CGRectMake(70,18,200,20);
sectionLabel.text =  @"A really really long text A really really long text A really really long text";
sectionLabel.textColor = [UIColor blueColor];
sectionLabel.numberOfLines = 0;
sectionLabel.lineBreakMode = UILineBreakModeWordWrap;
[sectionLabel sizeToFit];

編集:あなたが実際にラベルフレームを設定したことがわかりました。しかし、高さが短すぎてすべてのテキストを表示できません。

于 2012-08-27T01:30:26.640 に答える