2

不思議なことに、私の古いアプリ (XCode 4.x および iOS 6 SDK でビルドされたプロジェクト) を iOS 7 のデバイスにインストールすると、すべてのセグメントのタイトル文字列が切り捨てられます - 3 ~ 5 文字しか表示されず、その後にオーバーフロー ドットが続きます(...)一貫性がありません

キーポイント/所見 -

  1. これは、iOS 7 SDK を搭載した iPhone または iPad の両方で発生しますが、iOS 6 デバイスでは発生しません。

  2. タイトル文字列は静的 (3 つのセグメントに 5 ~ 10 文字の小さな文字) であるため、テキストのオーバーフローなしでセグメントに簡単に収まります (...)

  3. iOS 6 を搭載した iPhone および iPad では問題ありません。デバイスだけでなく、シミュレーターでも正常に動作します。

  4. iOS 7 でも、最初はテキストを適切にレンダリングします (オーバーフローはありません) が、アプリをいじって 3 回目または 4 回目にそのビューに戻ると、問題が発生します。

  5. アプリは XCode 4.x (iOS 6 SDK) で構築されており、iOS 7 のルック アンド フィールに準拠していないことに注意してください。

  6. 私のアプリは、2 つの異なるビュー内で 2 つの異なるセグメント コントロール (1 つは 2 つのセグメント、もう 1 つは 3 つのセグメント) を使用し、問題が発生するたびに両方で発生します。

他の誰かがこの問題に直面しましたか?

4

2 に答える 2

1

これを修正する簡単な方法があります。プロパティapportionsSegmentWidthsByContentを使用して に設定できますYES

于 2015-07-17T07:25:51.423 に答える
0

これを解決するには、通常の状態と同じタイトル テキスト属性を選択状態に設定しました。iOS 6 ではこれで十分でした:

NSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   someUIFont, UITextAttributeFont,
                                   nil];

[self.segmentedControl setTitleTextAttributes:attributes forState:UIControlStateNormal];

iOS 7 で動作させるには、これを追加する必要がありました。

[self.segmentedControl setTitleTextAttributes:attributes forState:UIControlStateSelected];
于 2013-10-04T10:54:20.680 に答える