2011-07-28 155 views
1

我有一個具有一個工具欄和右側下方的視圖中的XIB文件(視圖),作爲在圖像中示出的下面:如何以編程方式將視圖添加到從XIB文件加載的另一個視圖中?

Desired View

You can also view the image here.

我使用以下PhotoScroller:http://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html

的問題是,所述PhotoScroller動態創建到方法的loadView並直接分配給它自己的視圖。這使得PhotoScroller填滿整個屏幕,這不是我想要的。

我希望能夠把PhotoScroller僅是工具欄下面的視圖內部(即,視圖編號爲2的圖片上文)。

我想我必須加載是XIB文件中的視圖和PhotoScroller分配給該視圖。但是,我不知道該怎麼做(或者如果這甚至是解決方案)。

我該怎麼做?

PS:即使數字2顯示了一個列表,它不是一個列表!它s just a simple blank view (I just couldn找到一個更好的圖像放在這裏)。

預先感謝您! :)

回答

1

而不是做

self.viewPanels = pagingScrollView 

嘗試做的(這隻會工作,如果您還添加viewPanels作爲一個子視圖到self.view):

[self.viewPanels addSubview:pagingScrollView]; 

我認爲你應該還修改或覆蓋Apple樣本自帶的frameForPagingScrollView的實現:

- (CGRect)frameForPagingScrollView { 
    CGRect frame = [[UIScreen mainScreen] bounds]; 
    frame.origin.x -= PADDING; 
    frame.size.width += (2 * PADDING); 
    return frame; 
} 

正如你所看到的,這裏的框架相對於屏幕尺寸來說非常硬編碼;在你的情況下,框架會更短,所以你應該改變高度。

+1

恩,我不認爲我已經說清楚了。讓我試着以更簡單的方式詢問,只使用ScrollView。 讓我們說我有一個工具欄和一個查看右下角的xib文件。我想要做的就是設置該視圖(我的意思是工具條下方的視圖,而不是整個窗口)。 我希望能夠做到這樣的事情: - (void)viewDidLoad CGRect pagingScrollViewFrame = [self frameForPagingScrollView]; pagingScrollView.delegate = self; self.viewPanels = pagingScrollView; } 在最後一行,則viewPanels的觀點是,位於工具欄 –

+1

事情下面的一個是,最後一行不'噸的工作。它編譯並運行正常,但工具欄(viewPanels)下方的視圖保持爲白色(不顯示滾動視圖)。使代碼工作的唯一方法是用self.view = pagingScrollView替換最後一行。問題是,用最後一種方法,ScrollView填滿了整個屏幕並擺脫了工具欄。 –

+1

這工作sergio!太感謝了!我只是好奇而已。爲什麼self.viewPanels = pagingScrollView不起作用? –

相關問題