1

UIActionSheetボタンのテキストシャドウに問題があります。iOS 4.0.2では、長い文字列は自動的に切り捨てられました。いいえ、iOS 4.2では、これらのテキストは小さいフォントで表示されます。しかし、今では影のオフセットが壊れて大きくなっています。

UIActionSheetのテキストシャドウを変更/削除する可能性はありますか? 代替テキスト

編集:UIActionSheetは、initWithTitle:ではなく通常の方法で作成しておりinit、可能なボタンの数は動的であり、テキストは変更できないため、後で必要なすべてのプロパティを設定します。私はそれをテストしinitWithTitle:、同じ結果を得ました。

4

4 に答える 4

2

You can refer this to truncate your string before displaying it in a UIActionSheet.

于 2010-12-31T11:22:27.907 に答える
1

これには2つの回避策があると思います(ただし、アプリケーションでは自分で回避策を使用しませんが、回避策の下に理由を示します)。

  • 最初のケースでは、UIActionSheetのサブレイヤーにアクセスし、ラベルを取得し、アクションシートを表示する前にshadowOffsetとを変更しshadowColorます。
  • 次に、アクションシートを空白のタイトルで初期化し、アクションシートの適切な場所にサブビューとして独自のラベルを追加できます。(最初のアプローチよりも注意が必要です)。

UIActionSheetのレイヤー構造は将来のアップデートでアップルによって変更される可能性があるため、最初のアプローチは非常に危険です。そのため、アプリケーションが壊れて、良い結果が得られない可能性があります。

2番目のアプローチを続行するのは、見栄えが良くなるようにレベルを配置する必要がある正確なフレームを計算できる場合にのみ有効です。ただし、あなたの場合、ボタンの数も異なるため、このアプローチでは、最初は機能するまでに多くの時間がかかります。

したがって、ボタンのタイトルとして設定する前に、文字列を切り捨てます。

これがどれだけ役立つかわかりません。ただし、文字列をタイトルとして設定する前に文字列を切り捨てることが最善のオプションであると確信しています。

于 2011-01-04T11:27:25.297 に答える
0
于 2010-12-27T14:18:17.350 に答える
0

This appears to be fixed in 4.30. I found no way of fixing it in 4.2x.

于 2011-04-11T13:26:08.220 に答える