主要就是用到别人写好的一个第三方框架,,,在这很感谢愿意把自己的研究成果奉献给大家的人,不是谁都能做到这一点的。。
用的时候其实很简单。。。就一个文本框一个button。。。但是文本框,要用他们定义好的,,如下面代码,其他的就是把第三方写好的导入到自己项目里就行了。。。。。下面附带一个demo,,,如果自己项目里用到这个功能,只需导入需要的文件就行了。。。。。
// UILabel *myLabel = [[UILabel alloc]init];
// myLabel.contentMode = UIViewContentModeLeft;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[textField setClearButtonMode:UITextFieldViewModeWhileEditing];
[textField setReturnKeyType:UIReturnKeyDone];
上面这几句用的很好。
#import "ViewController.h"
#import "VoiceTextField.h"
@interface ViewController ()
@end
@implementation ViewController {
VoiceTextField *textField;
}
- (void)viewDidLoad
{
[super viewDidLoad];
textField = [[VoiceTextField alloc] initWithFrame:CGRectMake(0, 0, 200, 30)];
textField.center = CGPointMake(self.view.frame.size.width/2, 50);
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[textField setClearButtonMode:UITextFieldViewModeWhileEditing];
[textField setReturnKeyType:UIReturnKeyDone];
textField.placeholder = @"Please enter text";
textField.textColor = [UIColor blackColor];
[self.view addSubview:textField];
[textField becomeFirstResponder];
UIButton *btnTalk = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *imgIcon = imageNamed(@"icon_mircophone2.png");
[btnTalk setImage:imgIcon forState:UIControlStateNormal];
[btnTalk setFrame:CGRectMake(0, 0, imgIcon.size.width, imgIcon.size.height)];
btnTalk.center = CGPointMake(textField.frame.size.width+textField.frame.origin.x+btnTalk.frame.size.width/2, textField.frame.origin.y+textField.frame.size.height/2);
[btnTalk addTarget:textField action:@selector(voiceMode) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnTalk];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
[textField textMode];
}