Skip to content

Instantly share code, notes, and snippets.

@wakusei-meron-
Last active August 29, 2015 14:03
Show Gist options
  • Save wakusei-meron-/056928e2acfaf04aeb52 to your computer and use it in GitHub Desktop.
Save wakusei-meron-/056928e2acfaf04aeb52 to your computer and use it in GitHub Desktop.
UITextFieldで変換を完了せずに、テキストフィールド内の文字を取得
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
// NSLog(@"change");
NSMutableString *tmpStr = [NSMutableString stringWithString:textField.text];
[self.view addSubview:self.resultTableView];
if ([string isEqualToString:@""]){//delete押された時
if ([textField.text length] == 1) {
[self.resultTableView removeFromSuperview];
}else{
[tmpStr deleteCharactersInRange:NSMakeRange(tmpStr.length-1, 1)];
tmpStr = [self stringTransformWithTransform:kCFStringTransformLatinHiragana reverse:NO string:tmpStr];
// NSLog(@"search : %@", tmpStr);
[self.resultTableView filterContentForSearchText:tmpStr];
[self.resultTableView reloadData];
}
return YES;
}else if (string.length > 1){//予測変換が押された時
// NSLog(@"yosoku : %@", string);
[self.resultTableView filterContentForSearchText:string];
[self.resultTableView reloadData];
return YES;
}else{ //入力時
[tmpStr appendString:string];
tmpStr = [self stringTransformWithTransform:kCFStringTransformLatinHiragana reverse:NO string:tmpStr];
// NSLog(@"search : %@", tmpStr);
[self.resultTableView filterContentForSearchText:tmpStr];
[self.resultTableView reloadData];
}
return YES;
}
- (NSMutableString*) stringTransformWithTransform:(CFStringRef)transform reverse:(Boolean)reverse string:(NSMutableString *)string {
NSMutableString* retStr = [[NSMutableString alloc] initWithString:string];
CFStringTransform((CFMutableStringRef)retStr, NULL, transform, reverse);
return retStr;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment