에서이 코드와 UINavigationBar의 오른쪽에의 UITextField를 추가하려고 해요 :UITextField에이 UINavigationBar
UITextField *txtField=[[UITextField alloc]init];
[email protected]"Text Goes Here";
txtField.translatesAutoresizingMaskIntoConstraints=NO;
[self.navigationController.navigationBar addSubview:txtField];
NSArray * constraints=[NSLayoutConstraint constraintsWithVisualFormat:@"H:[txtField(100)]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(txtField)];
[self.navigationController.navigationBar addConstraints:constraints];
그 프로그램이 충돌하는 것을 어떻게
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. UINavigationBar's implementation of -layoutSubviews needs to call super.'
말 그리고 난 못해 이유를 찾아보십시오 ... 이 작업을 수행하는 올바른 방법은 무엇입니까?
당신이 UINavigationBar에 대한 사용자 정의 클래스를 사용하고 있습니까? –
탐색 표시 줄에 텍스트 필드를 추가하는 대신 컨트롤러의 navigationItem 속성에 UIBarButtonItem을 추가해보십시오. initWithCustomView :를 사용하여 바 버튼 항목을 만들고 텍스트 필드를 사용자 정의보기로 전달하십시오. – rdelmar
아니요 UINavigationBar를 서브 클래스로 사용하지 않았습니다 – Mppl