2012-09-24 1 views
0

UITableViewController을 사용하고 있는데, 사용자 정의 도구 모음을 UIView 아래에 추가하고 싶습니다.UITableView 끈적 풋풀이/사용자 정의 도구 모음 구현

navigationController (아래 코드) 도구 모음을 활성화하려고했지만 제대로 작동하지 않는 것 같습니다. UITextField은 델리게이트를 호출하지 않으며 텍스트 필드의 키 누르기는 텍스트 필드 자체에 표시되지 않습니다.

이렇게 도구 모음을 사용하는 것이 내 첫 번째 선택 사항이 아니며 UIToolView처럼 작동하는 내 항목을 넣을 수있는 내 UITableViewController에서 내 사용자 지정보기를 갖고 싶습니다. (UIView의 바닥 글 등 숙박)

코드 :

self.navigationController.toolbarHidden = NO; 
    // create toolbar objects 
    UITextField *inputField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 230, 31)]; 
    inputField.backgroundColor = [UIColor clearColor]; 
    inputField.borderStyle = UITextBorderStyleRoundedRect; 
    inputField.inputAccessoryView = self.navigationController.toolbar; 
    inputField.returnKeyType = UIReturnKeyDone; 
    inputField.delegate = self; 


    UIButton *sendButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 30)]; 
    sendButton.titleLabel.text = @"Send"; 
    sendButton.backgroundColor = [UIColor greenColor]; 

    // add objects into navigation controller 
    self.toolbarItems = [NSArray arrayWithObjects: 
         [[UIBarButtonItem alloc] initWithCustomView:inputField], 
         [[UIBarButtonItem alloc] initWithCustomView:sendButton], nil]; 

답변

5

대신 구현을위한 하위 클래스 UITableViewController, 당신은 쉽게 일반 UIViewController을 하위 클래스 찾을 수 있습니다과에 UITableView를 추가합니다. 이렇게하면 레이아웃을 사용자 정의 할 때 유연성이 향상됩니다.

기본적 단계는 다음과 같습니다
  1. 는 UIViewController에 (대신있는 UITableViewController)에서 클래스 상속을 가지고
  2. 이 클래스 는 UITableViewDelegate 및 UITableViewDataSource를 구현 UITableViewDelegate 및 UITableViewDataSource 프로토콜을
  3. 을 구현 되세요 클래스의 메서드 (예 : cellForRowAtIndexPath :, didSelectRowAtIndexPath :, 등)
  4. IB 에서 공간을 확보하기 위해 jQuery과의 프레임 크기를 조정 당신의 ViewController 클래스
  5. 로 방금 추가 테이블 뷰의 위임 및 데이터 소스 속성을 설정하여 뷰 컨트롤러의 뷰
  6. 에 하위 뷰 같은 jQuery과 추가 당신의 inputField와 button을위한 바닥

이렇게하면 inputField와 button을 viewController의 view (하단)에 추가 할 수 있고, tableview와 분리되어 있기 때문에 scroll되지 않을 것입니다.

+0

내가 기다리는 동안 명시한대로 내 View Controller를 다시 구현했습니다. 그것은 작동하고, 답변 주셔서 감사하지만, 지금은 UIToolbar에 문제가 있습니다. 텍스트 필드 키보드로 UIToolbar를 움직이고 있습니다.이 애니메이션 중에 배경에 앱을 놓으면 전경 , 툴바는 투명하게 보이고 내 홈 화면 – Bartu

+0

@ Bartu를 보여줍니다. 더 많은 정보가 없으면 무슨 일이 벌어 질 지 대답하기 어렵습니다. UIToolbar 문제에 대해 Stack Overflow에서 새로운 질문을하고 애니메이션 작업에 사용하는 코드를 포함시키고 포 그라운드에서 툴바가 어떻게 보이는지 보여주는 스크린 샷을 작성하면됩니다. 너를 돕기 위해. – jonkroll

+0

덕분에, 방금 UIToolbar 대신에 UIView를 만들었습니다. – Bartu