我一直在尋找高和低,試圖弄清楚這一點,希望有人能幫助(我想這大概是相當微不足道,但我只是在混亂的情況!)嵌入容器視圖到UIScrollView的
我使用XCode 5和故事板。我有一個容器視圖,佔據了iPhone屏幕空間的75%左右。在這之上我有一些按鈕(和其他小工具)。我希望能夠在按下其中一個按鈕時將視圖控制器加載到容器中。
到目前爲止,所有這些工作正常,但正在加載的視圖控制器大小不同,並且將來可能會更改。我希望能夠允許(任意大小的)子視圖滾動。
我已經嘗試在滾動視圖中嵌入容器,但隨後作爲添加新子視圖的過程的一部分,您必須設置框架大小,但我希望孩子弄清楚它應該有多大然後設置一切。
我不完全知道什麼是最好的方式去了解這是(在故事板設置的限制,或以編程方式?)
任何意見將是巨大的!或者指向一個教程的鏈接將會非常有用,我唯一可以找到的就是將視圖控制器添加到容器視圖或將視圖添加到滾動視圖中,而這些視圖在Xcode 5(iOS 7)中似乎沒有像預期的那樣工作,
謝謝!
CNC中
這是我用來展示任意大小的詳細視圖控制器的代碼,其餘的一切都在故事板設置(以防萬一,這是在未來的有用的人!)這現在的作品:
- (void)presentDetailController:(UIViewController*)detailVC{
//0. Remove the current Detail View Controller shown
if(self.currentDetailViewController){
[self removeCurrentDetailViewController];
}
//1. Add the detail controller as child of the container
[self addChildViewController:detailVC];
//2. DO NOT Define the detail controller's view size
//detailVC.view.frame = [self frameForDetailController];
//3. Add the Detail controller's view to the Container's detail view and save a reference to the detail View Controller
[self.detailView addSubview:detailVC.view];
self.currentDetailViewController = detailVC;
// Pin the height to the container to make it scrollable?
[self.detailView addConstraint:[NSLayoutConstraint constraintWithItem:self.detailView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1.0f constant:detailVC.view.bounds.size.height]];
//4. Complete the add flow calling the function didMoveToParentViewController
[detailVC didMoveToParentViewController:self];
}
謝謝你,我已經試過這種方法,但無法讓它工作(滾動視圖只是不滾動)。在加載新視圖控制器視圖時,如何設置容器和子視圖的框架? – user2851943
你讓自動佈局爲你做。我會盡量整理一個例子。 – Travis
一個例子會很棒!非常感謝! – user2851943