Ios Obj-c:键盘激活时是否向上移动uitextview?
当我的用户在我的文本视图中输入时,我希望文本视图向上移动,以便键盘不会覆盖它。我正在使用下面的代码,但没有任何东西向上移动,键盘继续覆盖我的文本视图。我怎样才能解决这个问题 ViewController.hIos Obj-c:键盘激活时是否向上移动uitextview?,ios,objective-c,Ios,Objective C,当我的用户在我的文本视图中输入时,我希望文本视图向上移动,以便键盘不会覆盖它。我正在使用下面的代码,但没有任何东西向上移动,键盘继续覆盖我的文本视图。我怎样才能解决这个问题 ViewController.h @property (strong, nonatomic) IBOutlet UITextView *replyField; ViewController.m - (void)viewDidLoad { [super viewDidLoad]; [self.replyFiel
@property (strong, nonatomic) IBOutlet UITextView *replyField;
ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
[self.replyField setReturnKeyType:UIReturnKeyDefault];
}
- (void)dismissKeyboard
{
[self.replyField resignFirstResponder];
}
- (void)textViewDidBeginEditing:(UITextView *)textView
{
[self animateTextView: YES];
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
[self animateTextView:NO];
}
- (void) animateTextView:(BOOL) up
{
const int movementDistance = -250; // tweak as needed
const float movementDuration = 0.3f; // tweak as needed
int movement= movement = (up ? -movementDistance : movementDistance);
NSLog(@"%d",movement);
[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.inputView.frame, 0, movement);
[UIView commitAnimations];
}
看起来
animateTextView
方法中有两个错误:
- 原始值-250导致
移动方向错误(向上?-movementDistance:movementDistance)
self.view.frame=CGRectOffset(self.inputView.frame,0,移动)代码> 将更改self.view的框架,而不是textView的框架
[self.replyField setDelegate:self];
您没有设置文本字段委托。@请更正:)谢谢!
[self.replyField setDelegate:self];