2012-10-03 51 views
0

我有一些問題,而使用UIScrollView.i創建,設置一些屬性,並使用主要以指向此UIScrollView.See:的UIScrollView停止工作添加子視圖

scrollWidth = 320.0; 
scrollHeight = 410 * listRegisterPeople.count; 
scrollScreenView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, scrollWidth, scrollHeight)]; 
[scrollScreenView setScrollEnabled:YES]; 
[scrollScreenView setContentSize:CGSizeMake(scrollWidth, 410 * list.count)]; 
[scrollScreenView setShowsVerticalScrollIndicator:YES]; 
[scrollScreenView setShowsHorizontalScrollIndicator:YES]; 
[scrollScreenView setPagingEnabled:NO]; 
scrollScreenView.delegate = self; 
[scrollScreenView setContentOffset:CGPointMake(0, 0)]; 
self.view = scrollScreenView; 

,但我想scrollScreenView添加爲子視圖[self.view addSubview:scrollScreenView]。但用這種方式,我不能滾動我的看法,我不知道爲什麼。 。 。

如何解決?

回答

1

如果滾動型的框架是更大或比內容大小相等,它不會滾動。您的滾動視圖高度等於滾動視圖contentSize,我認爲這是問題。 使框架等於self.view並設置內容大小,如下所示: 請嘗試以下操作。

scrollWidth = 320.0; 
scrollHeight = 410 * listRegisterPeople.count; 
scrollScreenView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320,self.view.frame.size.height)]; 
[scrollScreenView setScrollEnabled:YES]; 
[scrollScreenView setContentSize:CGSizeMake(scrollWidth, scrollHeight)]; 
[scrollScreenView setShowsVerticalScrollIndicator:YES]; 
[scrollScreenView setShowsHorizontalScrollIndicator:YES]; 
[scrollScreenView setPagingEnabled:NO]; 
scrollScreenView.delegate = self; 
[scrollScreenView setContentOffset:CGPointMake(0, 0)]; 
[self.view addSubview:scrollScreenView]; 
+0

到底!它的工作原理...現在爲什麼ScrollView的框架大於或等於它不會工作的內容大小?在我看來,我想如果我的滾動視圖正在增長,我需要設置滾動視圖的框架,但實際上沒有,只需設置內容大小並添加在視圖中... –

0

我認爲你應該更換這一行

self.view = scrollScreenView;

爲線

[self.view addSubview:scrollScreenView]

0

自動佈局設置一些約束視圖加載後,所以,只需將您的內容大小 viewDidAppear,你的代碼不會被改寫。

這對我有效。

-(void)viewDidAppear:(BOOL)animated{ 
    [self.scrollView setContentSize:CGSizeMake(320, 1000)]; 
} 

對不起,我的英文很差。

相關問題