3

私が持っているものについての簡単な説明:

複数のコンポーネント (列) を持つ UIPickerView があり、その「無限ループ」の側面を与えるために、すべてのコンポーネントが INTEGER_MAX 行で満たされています。各コンポーネントのコンテンツは、その特定のコンポーネントの文字列の NSArray から取得されます。文字列 (単語) のサイズが異なり、一部が切り詰められていました (たとえば、「Imagination」は「Imaginat...」になりましたが、「Smart」は同じままです)。すべてのコンポーネントのすべての行で、UILabel を使用してテキストを表示しています。

tLabel.textAlignment = NSTextAlignmentCenter;
tView.adjustsFontSizeToFitWidth = YES;

テキストが適切に配置されていることを確認します。

私が必要とするものについての簡単な説明:

すべてのラベル (INTEGER_MAX * nr_of_components) を同じテキストサイズにする必要があります。ただし、テキストを自動サイズ変更するラベルがピッカーに入力されるまで、どれが最小の font.size であるかはわかりません。

私が考えていて達成できなかったことについての簡単な説明:

前に説明したようにピッカーをロードすることを検討し、最初の [arrayX count] 行をスキャンしてそのコンポーネントに必要な最小フォントサイズを見つけ、それを他のコンポーネントと比較して、必要な「絶対的な」最小フォントサイズが発見されるまで. その後、すべてのコンポーネントのすべてのラベルにアクセスし、font.size を必要な最小のものとして示されているものに変更する必要があります。

アプリが iPhone、iPod、または iPad で実行されているかどうかがわからないため、これは動的に行う必要があります。

まあ、どんな助けでも大歓迎です。前もって感謝します!

4

1 に答える 1

1

あなたの質問を正しく理解できた場合は、この回答をご覧になることをお勧めします。

戦略は基本的に、フォントの縮小ではなく切り捨て (省略記号) です。


編集(コメントに基づく)

すべてのテキストを最小フォントに設定しないことを強くお勧めします。そのような要素があるとしましょう:

OK、これまでのところ、これらは適切なフォント サイズでラベルに完全に適合します。次に、より長いアイテムを追加します。

  • いちご
  • パイナップル

すべてのアイテムが少し小さくなりましたが、それでも読みやすいので、許容範囲です。そして、次のような巨大なアイテムが表示されます。

  • いちご
  • パイナップル
  • いくつかの種類のエキゾチックなフルーツそれは信じられないほど長い名前を持っています

これにより、ピッカー内のすべてのアイテムが信じられないほど小さくなり、読みにくくなります。

ただし、それでもその道を進みたい場合は、 text からのフォントのサイズ設定を確認することをお勧めします。この質問も役立つ場合があります。

于 2013-08-27T18:28:58.583 に答える