指定されたテキストに必要なラベルの高さを得るには、次の方法を使用しています。iPhone 4.0とシミュレータで表示されるラベルの高さの差
//Obtain the label height required for the text
CGFloat answerLabelHeight = [CustomCell getHeightOfLabel:answer_text ofFontSize:ANSWER_FONT_SIZE withConstraint: ANSWER_CONSTRAINT];
//Retrieve the label from cell contentview
UILabel *thisAnswerLabel = (UILabel*)[self.contentView viewWithTag:ANSWERLABEL_TAG];
//Set the frame of the label depending on the label height obtained above
[thisAnswerLabel setFrame:CGRectMake(CELL_TEXT_LEFT_MARGIN + CELL_AVATAR_WIDTH + CELL_SPACING, currentYAxisValue, CELL_ANSWER_WIDTH, answerLabelHeight)];
//Method to obtain label height
+ (CGFloat) getHeightOfLabel:(NSString *)text ofFontSize:(CGFloat)fontSize withConstraint:(CGSize)constraint
{
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:fontSize] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
return size.height;
}
奇妙なことに、返されたラベルの高さが正確でない、つまりテキストの上下にスペースが残っていることがわかりました(下記参照)。 iPhone上での検索結果をテキストの上、下(結果が正確である、すなわち、余分なパディング
:また、結果は、iPhone 4のデバイスのために返され、シミュレータ上のシミュレータが異なる
結果4:(結果は異なると少し
すなわち、余分なパディングが上で見ているオフとテキストの下にあります32101)iphoneデバイスとシミュレータの結果に違いがあるのはなぜですか? 2)iPhone 4シナリオの余分な埋め込みを削除するにはどうすればよいですか?
EDIT: 追加のパディングは、特定のシナリオでのみ発生し、段落の最後の単語が境界の右側に近い場合のように見えます。そうでなければ返される高さは大丈夫です。これがiphoneの網膜ディスプレイに起因する場合、どうすればこの不一致を克服できますか?
面白いことに、いくつかのケースでは問題はありませんが、他にも起こります。とにかく網膜ディスプレイの問題を克服するには? – Zhen
コス私はこれが起こるときには、私は高さを調整するときを知りません – Zhen