2017-01-16 8 views
1

UINavigationItemのテキストをビューの種類に基づいて動的に切り捨てるオプションがありますか?Swift:切り捨てられたテキストを表示するUINavigationItem

これらの私が編集できる唯一のプロパティです:

enter image description here


私は改行自動圧縮プロパティを設定することにより、UILabelのためにそうするために管理(ことができますが、 UINavigationBarで同等のものを見つける):

enter image description here


EDIT:私はスウィフト内の文字列切り捨ての拡張子を書いたが、正常に動作するために、それは文脈を知る必要があるだろうとして、それはエレガントな解決策をいないようです(例えば、表示サイズ、画面回転など)。このコンテキストは、UILabelクラスで自動的に処理されますが、** UINavigationItem **では使用できません(使用できるトリックがない限り)。

+0

'UINavigationBar'はUINavigationItem'は' UILabel'タイトル – NSDmitry

+0

のために申し訳ありませんが、私は間違ってそれを書いていない 'を使用しています。 UINavigationItemにこのようなプロパティがないので、この問題はまだ有効です。この動作をどのように達成するかについてのアイデアはありますか(現在、String拡張を使用していますが、最大のString長を決定する方法はあります私はUINavigationItem内に表示することができます - これは現在の向きや文字列のフォント/サイズなどに基づいて動的にする必要があります) – mm24

+0

ナビゲーション項目**にカスタムビューを追加することができます** titleView **はref http:// stackoverflowでこれを見るのに役立ちます。 com/questions/12502101 /ナビゲーション中ボタンのボタン –

答えて

0
ここで説明したようにあなたは、可変幅プレゼンテーションの文字列を探している可能性があり

https://developer.apple.com/library/content/releasenotes/Foundation/RN-Foundation/index.html#10_11VariableWidthString

アイデアは、あなたが幅と代替文字列のテーブルを介して、リアルタイムであなたの文字列を調整することができることです。ドキュメントはあなたに非常に似て聞こえるユースケースを断定する:

問題を例示するために、異なる画面サイズおよび/または異なる方向で実行するためのものiOSアプリを想像してみてください。さて、「Apple Storeへようこそ」というテキストがありました。時には、そのテキストが利用可能なスペースに完全に収まるかもしれません。他の人のために、それはあまりにも長くすることができ、のようなものにそれを短縮することが望ましいだろう「へようこそ。」

関連する問題