2015-01-01 3 views
5

scrollview 안에 tableview가있는 viewController가 있습니다.SWIFT에서 자식 테이블 뷰의 높이에 따라 스크롤 뷰의 높이를 조정하십시오.

내가 프로그래밍의 tableview의 높이를 업데이트해야하고는있는 ScrollView의 높이 (있는 ScrollView의 높이의 tableview의 높이에 따라 다름).

-my View Controller 
    -View 
    -ScrollView 
     -Container View 
     -TableView 

그래서 나는 나의의 ViewController의 viewDidAppear에이 코드를 썼다 : 내가 콘솔에서 확인하면 viewDidAppear 모든 cellForRowAtIndexPath 전에이라고

override func viewDidAppear(animated: Bool) { 

    super.viewDidAppear(animated) 

    var frame:CGRect = self.tableView.frame 
    frame.size.height = tableView.contentSize.height 
    self.tableView.frame = frame 

    scrollView.contentSize=CGSizeMake(scrollView.frame.size.width, tableView.frame.origin.y + tableView.frame.height) 

} 

. 이 경우 모든 것이 내가 원하는대로 작동합니다.

내 viewController에서 modalViewController를 여는 단추가 있습니다. 이 modalViewController에서 새 테이블 뷰 (새 셀)에 새 데이터를 추가합니다.

내가 dismissViewControllerAnimated 내 modalViewController을 닫습니다

는, viewDidAppear가 호출되지만 모든 cellForRowAtIndexPath AFTER. 내 viewController가 올바르게 표시되지 않고 tableview가 잘려서 tableview의 맨 아래로 스크롤 할 수 없습니다. 내 코드가 작동하지 않습니다.

저는 신속한 자동 레이아웃으로 작업하고 있습니다. 뷰 컨트롤러에서이 호출

답변

0

시도 :

automaticallyAdjustsScrollViewInsets = false 

당신이

을 선호하는 경우에도 인터페이스 빌더에서 설정할 수 있습니다
관련 문제