我有這樣的事情:如何添加一個位置的子視圖?
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;
它會在該位置被添加(0,0),但我想它在(0,100)或其他地方補充。我該怎麼做?
我有這樣的事情:如何添加一個位置的子視圖?
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;
它會在該位置被添加(0,0),但我想它在(0,100)或其他地方補充。我該怎麼做?
事情是這樣的:
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;
除了設置frame
屬性,你還可以設置一個視圖的center
財產。
這是我發現添加子視圖的最佳方式,如加載屏幕或您想要顯示的內容是否在UIView
,UIScrollView
或UITableView
中。
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,而不是在左上角它定位,如果您處於您的觀點的最頂端,則只會完全展示。
@applefreak框架*是*視圖在其superview的座標系統中的位置。你要求的是沒有意義的。 – 2015-05-30 01:46:14
這是最乾淨的方式,甚至不需要啓用掩碼轉換。令人難以置信的是,就我而言,'(0,0,width,height)'必須明確聲明,因爲它不是默認行爲。瘋! – Angad 2016-07-06 18:30:25