只是修改了官方的demo
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotificationobject:nil];
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotificationobject:nil];
inputview=[[UITextViewalloc] initWithFrame:CGRectMake(123,750, 111,44)];
[inputviewsetBackgroundColor:[UIColorredColor]];
[self.view addSubview:inputview];
}
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView {
if (inputview.inputAccessoryView == nil) {
[[NSBundlemainBundle] loadNibNamed:@"AccessoryView"owner:selfoptions:nil];
}
returnYES;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)aTextView {
[aTextView resignFirstResponder];
returnYES;
}
#pragma mark -
#pragma mark Responding to keyboard events
- (void)keyboardWillShow:(NSNotification *)notification {
NSDictionary *userInfo = [notification userInfo];
NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];
[UIViewbeginAnimations:nilcontext:NULL];
[UIView setAnimationDuration:animationDuration];
inputview.frame=CGRectMake(123,keyboardRect.origin.y-64, 111,44);
[UIViewcommitAnimations];
}
- (void)keyboardWillHide:(NSNotification *)notification {
NSDictionary* userInfo = [notification userInfo];
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];
[UIViewbeginAnimations:nilcontext:NULL];
[UIView setAnimationDuration:animationDuration];
inputview.frame = CGRectMake(123,750, 111,44);
[UIViewcommitAnimations];
}