おそらく単純なものですが、インターフェイスビルダーのxibでUIViewのサイズを変更できない理由がわかりません。
xcodeとサイズインスペクターで新しいビューXIBを作成しました。幅と高さが無効になっており、320 x 460にグレー表示されています。他の2つのビュー(他の2つのタブバーに関連付けられている)のサイズを変更できるので、これは奇妙ですアイテム)。
これが何か関係があるかどうかはわかりませんが、最近SDKを3に更新しました。
ありがとう!
おそらく単純なものですが、インターフェイスビルダーのxibでUIViewのサイズを変更できない理由がわかりません。
xcodeとサイズインスペクターで新しいビューXIBを作成しました。幅と高さが無効になっており、320 x 460にグレー表示されています。他の2つのビュー(他の2つのタブバーに関連付けられている)のサイズを変更できるので、これは奇妙ですアイテム)。
これが何か関係があるかどうかはわかりませんが、最近SDKを3に更新しました。
ありがとう!
回答:
インターフェイスビルダーのステータスバーなどのユーザーインターフェイス要素をシミュレートしている間は、サイズを編集できないと思います。シミュレーション要素が有効になっている場合は、オフにすることもできます。これがなぜなのか正確にはわからないので、これが正確になぜなのかを知っている人からのフィードバックをいただければ幸いです-正当な理由があるはずです。
探している部分は、最初のインスペクターパネル(コマンド1)にあります。右上には、シミュレートされたユーザーインターフェイス要素というラベルの付いたセクションがあります。デフォルトでは、ステータスバーはオンになっています。3つすべてがNoneに設定されていることを確認する必要があります。
Xcode 4.2、iOS 5.0.1と同様に、デフォルトのシミュレートされたメトリックには、UIViewControllersの「サイズ」属性を「推測」にシミュレートすることが含まれます。
この属性を「Freeform」に変更すると、ステータスバー(またはその他のシミュレーション)をシミュレートしながら、UIViewControllerに含まれるUIViewのサイズを変更できます。
インスペクターに移動し、最初のパネルに移動して(またはcommand-1を押して)、「シミュレートされたユーザーインターフェイス要素」というセクションのステータスバー、トップバー、およびボトムバーとマークされたフィールドを[なし]に変更します。それらを表示するには、小さな三角形をクリックする必要がある場合があります。
おかしい同様の問題があります。xibファイルからすべてのビューを削除し、ビューを再度追加しました。ステータスバーを「未指定」に設定して、ステータスバーに対応しないようにします。ビューが追加されると、予想どおり、(0,0,320,480)ではなく、x = 0、y = 0、w = 320 h = 460で作成されます。高さを480に変更し、それをファイルの所有者に接続し、色を変更して、背景との関係で区別できるようにします。画面の上部とビューの間に白い帯があったことに気づきました。私は自分のコードを次のように拡張しました:
#define RECTLOG(rect)(NSLog(@ "" #rect @ "x:%fy:%fw:%fh:%f"、rect.origin.x、rect.origin.y、rect.size.width、rect .size.height));
viewDidLoad内
-(void)viewDidLoad { [super viewDidLoad]; RECTLOG(self.view.frame); }
ビューはIBから読み込まれたとおりであることがわかります(0、20、320、480)。回避策として、ビューのフレームをself.view.frame = CGRectMake(0、0、320、480);
IB 3.2.5を使用しています
私はこれの小さな修正を知りたいです。
xibファイルの作成時に自動的に作成されたUIViewは、サイジングパネルまたはエッジハンドルからサイズ変更できないことに気付きました。
私がしたことは、別のUIViewを追加し、古いUIViewから新しいUIViewにすべてをドラッグして、古いUIViewを削除することだけでした。
それは私にとって問題を解決しましたが、はい、Appleが解決するインターフェイスビルダーには根本的な問題があると思います(私が間違っていれば誰かが私を修正します)。
XCode 4統合インターフェイスビルダーを使用しています。
別の方法で整理しました...
お気に入りのテキストエディターでxibを開き、この行を編集します
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CompassViewController">
CompassViewController
nib / xibをリンクしようとしているクラス名です。
クラス名を正しいクラス名で編集するだけで完了です;)