我正在构建待办事项列表,当用户创建新任务时,我使用UITextfield输入任务名称。我想提供的是当用户在UITextField中键入#时,我会显示用户已经创建的标签列表,或者如果Tag不存在,我会创建一个新的并将其分配给该新任务。
我已经在这里搜索过,我找不到与适当的awnser相似的问题。我无法找到一种只在#被按下时提出建议的方法。
顺便说一句,抱歉我的英语不好。
答案 0 :(得分:1)
将包含视图控制器设置为UITextFieldDelegate。有了这个,你就可以实现
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
当在字段中输入数字时调用此方法,因此请根据哈希标记检查替换字符串,并根据需要创建下拉列表:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if([string isEqualToString:@"#"]) {
[containingViewController showDropdownListFromElement:textField];
// Now consume the hash tag by not allowing the addition
return NO;
}
}