2

上記のタイトルのように、TTTAttributedLabel を使用しているときにこの問題に直面した人はいますか?

現在、ラベルが 1 行しか表示されていない場合、アプリからは表示されません。ただし、ラベルのサイズが 1 行を超える場合は、正常に機能します。

この問題/バグに遭遇した人はいますか? これが他の人にも役立つことを願っています、ありがとう!

4

1 に答える 1

2

これら2つの投稿に基づいて:

CoreText が高さを測定する方法と、テキストを描画するときに実際にレンダリングされるものが 1 行の場合に問題があるようです。

発生しているように見えるのは、テキストは存在するが、テキストを描画するためのウィンドウがまだ小さすぎるということです。したがって、解決策は、 TTTAttributeLabel のフレームを sizeToFit が与えるものよりも大きなものに手動で設定することです。

これには、次の 2 つの手順が含まれます。

  1. ラベルの高さが 1 行の場合の検出
  2. 高さをより大きなものに調整する

このような何かがそれを行います:

if (labelHeight < kSingleLineLabelHeight) {
   labelHeight = kSingleLineLabelHeight
}

それに応じてラベルの高さを設定します。

于 2012-11-15T09:52:47.170 に答える