2014-12-24 2 views
3

스크롤 할 때 도구 막대를 따르는 스위프트 - 내 UITableViewController에서 스크롤 할 때 내 도구 모음이 내 tableview를 따라갑니다.스크롤 -

override func viewDidLoad() { 
     let toolbar: UIToolbar = UIToolbar() 
     let checkButton = [UIBarButtonItem(title: "Done", style: .Done, target: self, action: "checkedPress")] 
     toolbar.frame = CGRectMake(0, self.view.frame.size.height - 46, self.view.frame.size.width, 48) 
     toolbar.sizeToFit() 
     toolbar.setItems(checkButton, animated: true) 
     toolbar.backgroundColor = UIColor.redColor() 
     self.view.addSubview(toolbar) 
    } 

을 내가 응용 프로그램을 실행하는 경우는 다음과 같습니다 : 내 코드는 다음과 같습니다 enter image description here

내가 도구 모음보기 하단에 충실 할을 어떻게 달성된다?

의견을 보내 주시면 감사하겠습니다.

답변

3

문제는 당신이 self.view.addSubview(toolbar)과 더불어, UITableViewController을 사용하고 있기 때문에, 당신의 하위 뷰로 도구 모음을 추가 한 것입니다 귀하의 UITableViewControllerview, 즉, UITableView. UITableView의 하위보기로 도구 모음이 표와 함께 스크롤됩니다.

해결책 :보기 컨트롤러를 사용자 정의하려면 UITableViewController 대신 UITableView을 포함하는 UIView을 사용하십시오. 그렇게하면 뷰에 테이블 뷰의 하위 뷰가 아닌 요소를 추가 할 수 있습니다.

+0

이 답변에 추가하려면 프레임 크기를 직접 설정하는 대신 제약 조건을 사용해야합니다. 이 방법을 사용하면 툴바가 UIViewController의 뷰의 아래쪽에 고정되어 있는지 확인한 다음 tableView의 맨 아래를 툴바의 맨 위에 고정 할 수 있습니다. 프레임 계산 및 직접 설정은 더 이상 Apple이 제안한 접근 방식이 아닙니다. –

0

또한 TableViewController를 탐색 컨트롤러에 포함시키고 스토리 보드 또는 프로그래밍 방식으로 도구 모음에 표시 할 수 있습니다. 이 표준 역시 하단에 붙어 있고 Views 컨텐트 위에 머물러 있으며 일부 조건에서는 자동으로 숨길 수있는 기능이 있습니다.

enter image description here

당신은 탐색을 위해 항상 탐색 컨트롤러를 사용하지 않아도은, 때로는 물건 엑스 코드를 수행하기위한 편리한 방법은 이미 만들어진 뷰를 변경하지 않고 사용하는 하드합니다.