2012-12-23 2 views
5

EDIT
이것은 어떤 일이 발생하는지 알 수 있도록 http://youtu.be/v1HrxYhzJZY입니다.UITableView를 아래로 스크롤 할 수 없습니다.

이것은 나의 시나리오입니다.
나는 섹션 5 개와 셀 12 개가있는 UITableView입니다. 또 다른 팝 최대 MFMailComposeViewController 그 세포의 등

세의 (a push segue 통해) MKMapView보기를 열고, 그것은 스크롤,이보기는 push segue 열립니다 모든 것이 잘 작동합니다.

시도 할 때 에서 UITableView으로 이동 더 이상 아래로 스크롤 할 수 없습니다. 난 비트 스크롤하고 내 tableview 맨 반환합니다.

viewWillAppear에 프레임 크기를 설정하려고 시도했지만 tableView을 다시로드하려고 시도했지만 작동하지 않습니다!
이 문제의 원인은 무엇입니까?

편집
내 구현은 다음과 같습니다

- (void)viewDidLoad { 
    loaded = NO; 

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"my_url", self.userID]]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 
     loaded = YES; 

     self.user = JSON; 
     [self setUserValues]; 

     [self.tableView reloadData]; 

    } failure:nil]; 

    [operation start]; 

    [super viewDidLoad]; 
} 

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

    [self.tableView setContentSize:CGSizeMake(320, 420)]; 
} 
+0

다음 정보를 제공하는 것이 유용 할 것입니다. 1) 아래로 스크롤 할 수 없다고 언급했는데 스크롤 할 수 있습니까? 테이블 뷰 맨 아래에있는 섹션을 제외하고는 대부분을 스크롤 할 수 있습니까? 2) 당신의'viewWillAppear'와'viewDidAppear' 메소드는 테이블 뷰의 뷰 컨트롤러에 구현되어 있습니다. –

+0

질문이 업데이트되었습니다. – jan267

+0

왜 콘텐츠 크기를 설정하고 있습니까? –

답변

7

나는이 간단한 코드 자신에 의해 그 문제를 해결 :

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 

    [self.tableView reloadData]; 
} 

감사 어쨌든!

1

원하는 섹션/행에있는 tableView 스크롤하려면 다음 코드를 사용하여

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:desiredRow inSection:desiredSection] atScrollPosition:UITableViewScrollPositionTop animated:NO]; 
5

viewWillAppear: 방법은 스크롤 너무 이르다 테이블보기. 보기가 화면보기 계층에 추가되지 않고 아직 배치되지 않았습니다. viewDidLayoutSubviews에서 해보십시오.

+0

고마워, 시도했지만 여전히 작동하지 않습니다. – jan267

0

UIScrollView에서 상속있는 tableView을 스크롤하려면 [self.tableView setContentOffset:CGPointMake(0,100) animated:YES];를 사용할 필요가 아닌 setContentSize

1

나는 이것도 경험했다. 하위 뷰에서 돌아 왔을 때 테이블 뷰는 더 이상 스크롤 할 수 없었습니다 (항상 위쪽으로 튀어 오름). 내 하위보기에 내지도보기가 없습니다.

테이블보기를 다시로드해도 문제가 해결되지 않았습니다.

버그는 iOS 7에서만 나타나고 6.1에서는 나타나지 않습니다.

나는이 액세스를 제거하고 (단지 속성을 읽었습니다!) 문제를 해결했습니다. WTF! 마법 재산이어야합니다.

0

어제도이 문제가 발생했습니다. 그리고 나는 지금 그것을 고쳤다!

UITableView를 UIViewController로 드래그하고 간단히 add missing contraints을 선택했습니다. 응용 프로그램을 실행하면 UITableView 아래로 스크롤 할 수 없습니다.

나는 googled하고 보았다 a similar question in Stackoverflow.

그런 다음 UITableView에 대한 제약 조건을 확인한 결과, UITableView의 고정 높이가 설정되어있는 것을 발견했습니다. 그런 다음 난제를 제거하고 다른 하나를 추가했습니다 : Bottom Space to: Bottom Layout Guide = 0.

해결책은 나를 위해 작동합니다.

관련 문제