web-dev-qa-db-ja.com

位置を持つサブビューを追加するにはどうすればよいですか?

私はこのようなものを持っています:

myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;

(0、0)の位置に追加されますが、(0、100)またはどこかに追加したいと思います。どうすればできますか?

28
DNB5brims

このようなもの:

myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
myViewController.view.frame = CGRectMake(0, 100, myViewController.view.frame.size.width, myViewController.view.frame.size.height);  
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;
54
acqu13sce

frameプロパティを設定するだけでなく、ビューのcenterプロパティを設定することもできます。

12
Dave DeLong

サブビューのフレームプロパティを設定します。

8
Gary

これは、ロード画面や、UIViewUIScrollViewUITableViewのいずれにいるのかを表示したいサブビューなど、subViewを追加するために見つけた最良の方法です。

_myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; 
myViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self.view addSubview:myViewController.view];
self.view.bounds = myViewController.view.bounds;
_

これにより、サブビューを左上隅に配置するのではなく、現在self.viewの現在の場所に追加することにより、self.viewのどこにいても、サブビューが全画面で表示されます。あなたのビューの一番上に。

7
whyoz