在iOS6中,如果像舊版本的資料提到的那樣,用IB將一個ScrollView拖到.h文件中創(chuàng)建一個outlet,
并在viewDidLoad函數(shù)中設置ScrollView的contentSize屬性的話,會發(fā)現(xiàn)運行的程序中ScrollView可見,
但無法拖動。這是因為iOS6中的AutoLayout機制,在viewDidLoad函數(shù)被執(zhí)行后,AutoLayout會重新
把contentSize修改為符合屏幕大小的數(shù)值(也就是說,現(xiàn)在的contentSize又適合了屏幕大小,
并沒有大于UIScrollView本身的大小,當然也就不能滾動了)。
解決辦法是重寫viewDidAppear:(BOOL)animated方法,在父類方法調用之后再修改contentSize屬性:
- (void)viewDidAppear:(BOOL)animated{
[superviewDidAppear:animated];
self.theScroller.contentSize=CGSizeMake(400.0,600.0);
}
這個函數(shù)會在autoLayout之后被執(zhí)行,從而避免了contentSize屬性被再次修改。另外,有人說也可以在File Inspector中去掉autoLayout項,不過據(jù)說這樣還會有別的問題,沒有測試過不得而知。