2013-03-02 3 views
1

나는 그 안에 UIScrollView 가진 UIView contants 및 UIScrollView있는 UITableView 있어요 FirstViewController 있습니다. UITableView 스크롤이 비활성화되어 있고 전체 UITableView를 볼 수 있도록 UIScrollView의 contentSize 만 늘립니다.viewcontroller 닫기 UIScrollView의 내용을 위로 위로

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

내가 jQuery과 셀을 눌러 contentOffset =/= 0 그래서 나는 내있는 UIScrollView의 지점에있을 때는 내가 새 컨트롤러 (SecondViewController)을 제시 모달. 이것은 잘 작동합니다. SecondViewController를 닫을 때 FirstViewController의 내용이 엉망입니다.

UITableView는 원래 화면의 중간에 수직으로 설정됩니다. SecondViewController를 닫을 때 UITableView는 화면 중간에 원점을 가지지 만 UITableView 위에있는 콘텐츠는 contentOffset 값으로 UIScrollVIew 내에 밀어 넣어집니다 (SecondViewController를 푸시하기 전의 내용).

___________________________________ 
|         | 
-----------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

iOS6에서 model viewController 모델을 삭제해야하기 때문에 iOS5 시뮬레이터 또는 기기를 사용하고 있는지 확인하십시오.

는 .... 당신이 같은 제시하는 모든 아이폰 OS에

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]; 
} 

는이 같은 것입니다 희망처럼 닫으려면 .......... ..

관련 문제