2012-07-26 29 views
1

我正在試驗TabBarController,並且默認項目創建了UITabBarController,並且還爲您提供了兩個視圖控制器。使self.view UIScrollView?

我想這些視圖控制器之一的觀點是一個UIScrollView,即呼籲FirstViewControllerself.view當我想拿回UIScrollView *,而不僅僅是一個UIView *

視圖控制器得到初始化與initWithNibName:但我看不到任何分配視圖屬性在那裏。

如果這一切聽起來有點奇怪,也許我做錯了這個?我意識到我可以將UIScrollView拖放到已經與我創建的視圖上,但在這種情況下,對於擁有父視圖來說似乎沒有意義。

在此先感謝。

+2

'UIScrollView * scrollView = [UIScrollView alloc] initWithFrame ....]; self.view = scrollView;' – janusbalatbat 2012-07-26 10:35:45

+0

@janusfidel感謝您的回覆。如果我以編程方式創建視圖,這將工作,但我想使用界面構建器。 – 2012-07-26 10:36:37

+1

@janusfidel和OP - 我不建議你這樣做。非常糟糕的做法。您應該創建一個新的滾動視圖,將其添加爲self.view的子視圖,然後使用它進行訪問,例如,例如,它的標籤屬性或其他。 – 2012-07-26 10:37:02

回答

1

好吧,剛剛意識到如何做到這一點。

我可以在我的代碼中進行強制轉換,使UIView成爲UIScrollView。是這樣的...

UIScrollView *tempScrollView = (UIScrollView *)self.view; 
tempScrollView.contentSize = self.view.bounds.size; 

然後,在界面生成器,你可以使用檢查器來設置自定義類的UIView的。我將這個類設置爲UIScrollView,並且所有這些都可以工作!

0

如果您想使用界面構建器。只需加載你的筆尖,刪除左側面板上的視圖,然後將UIScrollView拖入該區域。

從文件所有者到新的UIScrollView作爲視圖屬性的下一個鏈接。

唯一的缺點做這種方式是在你的代碼,只要你想具體UIScrollView功能,你必須強制轉換(使用(UIScrollView *)self.view)視圖屬性,或把它放在一個變量,像這樣

UIScrollView *sview = self.view; 
//Then use sview for your changes 

然而,最好的方法是在代碼中完成它。