私は「SOを読んだことがあり、それは可能だと思われるが、私はそれを試したがうまくいかなかった:
UILabel * detailed_label = [[UILabel alloc] initWithFrame:CGRectMake(50, labelSize.height + 30, textSize.width + 5, textSize.height + 5)];
detailed_label.backgroundColor = [UIColor clearColor];
detailed_label.textColor = [UIColor whiteColor];
detailed_label.font = [UIFont systemFontOfSize:12];
detailed_label.text = self.detailed;
detailed_label.numberOfLines = 0;
detailed_label.lineBreakMode = UILineBreakModeWordWrap;
detailed_label.shadowColor = [UIColor darkGrayColor];
detailed_label.shadowOffset = CGSizeMake(1, 1);
CGSize detailedLabelSize = [self.detailed sizeWithFont:label.font constrainedToSize:CGSizeMake(280.0f, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
UIButton *v = [UIButton buttonWithType:UIButtonTypeCustom];
v.frame = CGRectMake(0, 0, textSize.width + avatar_image.size.width + 10, labelSize.height + detailedLabelSize.height + 30);
//label.center = CGPointMake(v.frame.size.width / 2, v.frame.size.height / 2);
[v addSubview:detailed_label];
私は何か間違っているのですか?
回答:
回答№1は0UIButtonでの作業として。あなたはすでにそれの上にラベルを利用することができます、使用 button.titleLabel
それにアクセスする。
次のセット button.titleLabel.minimumFontSize
そして button.titleLabel.font
。次に、 button.titleLabel.numberOfLines
> 1。
ラベルを作成する高さを確認する必要がある場合。つかいます [self.detailed sizeWithFont:fontWithMinimumFontSize constrainedToSize:CGSizeMake(width, DBL_MAX) lineBreakMode:UILineBreakModeWordWrap].height + PADDING;