デフォルトの進行状況ビューを使用すると、レンダリング バグが発生します。デフォルトの進行状況ビューを使用すると、ビューは高さ 9px ではなく、約 4px にクリップされます。私のアプリは iOS6 SDK でビルドされており、iOS7 デバイスで実行すると問題が発生します。インターフェイスは、インターフェイス ビルダーで構築されます。
この問題の簡単な修正方法はありますか? インターフェイス ビルダーでスタイルを「デフォルト」から「バー」に切り替えると問題は解決しますが、外観が変わります。
デフォルトの進行状況ビューを使用すると、レンダリング バグが発生します。デフォルトの進行状況ビューを使用すると、ビューは高さ 9px ではなく、約 4px にクリップされます。私のアプリは iOS6 SDK でビルドされており、iOS7 デバイスで実行すると問題が発生します。インターフェイスは、インターフェイス ビルダーで構築されます。
この問題の簡単な修正方法はありますか? インターフェイス ビルダーでスタイルを「デフォルト」から「バー」に切り替えると問題は解決しますが、外観が変わります。
@iPP の答えは最善ではありません。コードでフレームを設定すると、コードが iOS のバージョン チェックでいっぱいになり、複数のデバイスの向きをサポートする場合、そのコードは非常に複雑になる傾向があります。
Xcode 5 の新機能「iOS 6/7 Deltas」を使用するのが最善の方法だと思います。
また、「iOS 6/7 Deltas」のキーの使用法は次のとおりです。
Auto Layout をオフにすると、Interface Builder のユーティリティ領域 (右ペイン) のサイジング タブに、iOS 6/7 デルタを設定できる領域が表示されます。デルタはビューごとに個別に設定でき、期待どおりに機能します。ストーリーボードまたはペン先が iOS 6 として表示するように設定されている場合、デルタを設定すると、iOS 7 で実行したときに、設定されたデルタ量によってそのビューがシフトまたはサイズ変更されます。または、ストーリーボードまたはペン先が表示に設定されている場合iOS 7 では、iOS 6 での実行時にデルタが適用されます。これらのツールはどちらも、iOS 7 と並行して古いバージョンの iOS をサポートするのに役立ちます。
UIProgressView の場合、ここで「デルタ Y」を -7px に設定できます。iOS 7 は UIProgressView の Y 原点を 7 px 減らすだけなので、iOS7 で実行する場合は 7px に戻す必要があります。