Last active
August 29, 2015 14:03
-
-
Save wakusei-meron-/056928e2acfaf04aeb52 to your computer and use it in GitHub Desktop.
UITextFieldで変換を完了せずに、テキストフィールド内の文字を取得
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (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