2013-03-02 72 views
1

我有FirstViewController,它包含一個UIScrollView的UIView,並且UIScrollView中有一個UITableView。 UITableView禁用了滾動功能,我只增加了UIScrollView的contentSize,以便能夠看到完整的UITableView。關閉一個視圖控制器弄亂了UIScrollView的內容

___________________________________ 
|         | 
|         | 
|         | 
-----------Various content--------- 
|         | 
|         | 
|         | 
___________________________________ 
|         | 
|         | 
|         | 
|         | 
|   UITableView   | 
|         | 
|         | 
|         | 
|_________________________________| 

當我在我的UIScrollView一個點,使得contentOffset =/= 0和I按在UITableView的小區我模態呈現一個新的控制器(SecondViewController)。這工作正常。當我關閉SecondViewController時,FirstViewController中的內容會混亂。

UITableView初始設置爲使其原點位於屏幕中間(垂直)。當我關閉SecondViewController時,UITableView肯定會在屏幕中間出現它,但UITableView上方的內容會在UIScrollVIew中以contentOffset的值(推送SecondViewController之前的值)推送到UIScrollVIew中。

___________________________________ 
|         | 
-----------Various content--------- 
|         |  
|         | 
|         | 
|         |  
|         | 
___________________________________ 
|         | 
|         | 
|         | 
|         | 
|   UITableView   | 
|         | 
|         | 
|         | 
|_________________________________| 

編輯:我剛剛發現,UIScrollView中的_startOffsetY被更改。我不知道這與它有什麼關係,但分頁是禁用的。

回答

1

這樣做:

-(void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [scrollView setContentOffset:CGPointZero]; 


} 

-(void) viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    [scrollView setContentSize:(CGSizeMake(320, scrollSubView.frame.size.height))]; 

} 
0

請確保您使用的是iOS5模擬器或設備,因爲在iOS6中不推薦使用解除模型viewController。

要你出示像所有iOS工作....

if ([self respondsToSelector:@selector(presentViewController:animated:completion:)]) 
{ 
    [self presentViewController:test animated:YES completion:nil]; 
} 
else 
{ 
    [self presentModalViewController:test animated:YES]; 
} 

和罷免像

if ([self respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]) 
{ 
    [self dismissViewControllerAnimated:animated completion:nil]; 
} 
else 
{ 
    [self dismissModalViewControllerAnimated:animated]; 
} 

希望你會喜歡這個.......... ..

相關問題