2

nibファイルでビューを定義しています。(名前付きFooView.xib

ビューは固定サイズ(画面サイズよりも小さい)です。

ビューコントローラ(という名前)にロードしFooViewController.[hm]たいのですが、どのデバイス(ユニバーサルアプリ)でも画面の中央にビューを表示したいと思います。

xibとviewcontrollerクラスの名前はこのように対応しているため、xibのビューは自動的にロードされます。

次に、メソッドにコードを記述して-(void)viewDidLoad、ビューを中央に配置します。これは、で参照できますself.view。私はこのようなものを書きます。

CGRect screenBounds = [[UIScreen mainScreen]bounds];
self.view.center = CGPointMake(screenBounds.size.width/2, screenBounds.size.height/2);

そして、それは機能しません。を変更しても機能しませんself.view.frame = ...

self.view.centerまたはの値を確認しましたself.view.frame。それらは変更されましたが、シミュレーターに変更は見られませんでした。

4

1 に答える 1

1

xibファイルで、自動レイアウトが無効になっていることを確認してください。

viewController.m内:(*編集:これをviewDidLoadではなくviewDidAppearに配置します)

[self.view addSubview:myView];
myView.center = self.view.center;
于 2013-01-12T05:03:45.083 に答える