UIMenuController를 사용하여 이미 내 앱에있는 데이터를 기반으로 텍스트 필드에 자동 완성 옵션을 표시하려고합니다. 메뉴 항목을 업데이트하고 선택한 텍스트 필드를 채우는 코드는 잘 작동하지만 입력하는 동안 menucontroller를 계속 볼 수있는 방법을 찾지 못하는 것 같습니다. 나는 시도했다입력하는 동안 UIMenuController가 계속 표시됩니다.
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
[[UIMenuController sharedMenuController] setMenuVisible:YES animated:YES];
return YES;
}
그러나 아무것도하지 않는다. 메뉴를 표시하도록 코드를 설정하기 전에 메뉴 항목을 업데이트하는 코드를 삽입하면 텍스트 필드의 첫 번째 문자를 계속해서 바꾸어 버리고 메뉴가 계속 표시되지 않습니다.
여기서 수정해야 할 실제 문제는 UIMenuController가 텍스트 필드의 마지막 단어를 자동으로 선택하는 것일 수 있지만 그 중 하나에 대한 해결 방법을 찾지 못했을 가능성이 있습니다.
나는 부동산을 덜 차지하고 실제로는 정말 멋지게 보이는 다른 길로 나왔다. HotelTonight에서 Jon Sibley가 올린 [이 Autocomplete Text Field] (https://github.com/hoteltonight/HTAutocompleteTextField)를 확인하십시오. – codemolly
예, UIMenuController의 대안은 훨씬 매력적입니다. –