Objective c UIScrollView和UIKeyboard存在问题
我这里有些问题。我有一个UITextView,当我点击里面时,它会被键盘关闭,所以,我在这里尝试做的是一个UIScrollView,它允许我看到我在TextView中写的东西 这是我目前的代码:Objective c UIScrollView和UIKeyboard存在问题,objective-c,uiscrollview,uitextview,Objective C,Uiscrollview,Uitextview,我这里有些问题。我有一个UITextView,当我点击里面时,它会被键盘关闭,所以,我在这里尝试做的是一个UIScrollView,它允许我看到我在TextView中写的东西 这是我目前的代码: -(void)keyboardWillShow { if (self.view.frame.origin.y >= 0) { [self setViewMovedUp:YES]; } else if (self.view.frame.origin.y
-(void)keyboardWillShow {
if (self.view.frame.origin.y >= 0)
{
[self setViewMovedUp:YES];
}
else if (self.view.frame.origin.y < 0)
{
[self setViewMovedUp:NO];
}
}
-(void)keyboardWillHide {
if (self.view.frame.origin.y >= 0)
{
[self setViewMovedUp:YES];
}
else if (self.view.frame.origin.y < 0)
{
[self setViewMovedUp:NO];
}
}
-(void)setViewMovedUp:(BOOL)movedUp
{
[UIView animateWithDuration:.3 animations:^{
CGRect rect = self.view.frame;
if (movedUp)
{
scrollView.contentSize = CGSizeZero;
scrollView.frame = CGRectMake(0, 80, 320, 308);
// rect.origin.y -= kOFFSET_FOR_KEYBOARD;
// rect.size.height += kOFFSET_FOR_KEYBOARD;
}
else
{
scrollView.contentSize = CGSizeZero;
scrollView.frame = CGRectMake(0, 190, 320, 308);
// rect.origin.y += kOFFSET_FOR_KEYBOARD;
// rect.size.height -= kOFFSET_FOR_KEYBOARD;
}
self.view.frame = rect;
}];
}
- (void)viewWillDisappear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillHideNotification
object:nil];
}
-(无效)键盘将显示{
if(self.view.frame.origin.y>=0)
{
[self-setViewMovedUp:是];
}
else if(self.view.frame.origin.y<0)
{
[self-setViewMovedUp:否];
}
}
-(无效)键盘将隐藏{
if(self.view.frame.origin.y>=0)
{
[self-setViewMovedUp:是];
}
else if(self.view.frame.origin.y<0)
{
[self-setViewMovedUp:否];
}
}
-(无效)setViewMovedUp:(BOOL)movedUp
{
[UIView animateWithDuration:.3个动画:^{
CGRect rect=self.view.frame;
if(movedUp)
{
scrollView.contentSize=CGSizeZero;
scrollView.frame=CGRectMake(0,80320308);
//rect.origin.y-=kOFFSET\u用于键盘;
//rect.size.height+=键盘的kOFFSET\u;
}
其他的
{
scrollView.contentSize=CGSizeZero;
scrollView.frame=CGRectMake(0190320308);
//rect.origin.y+=kOFFSET_用于键盘;
//rect.size.height-=kOFFSET\u用于键盘;
}
self.view.frame=rect;
}];
}
-(无效)视图将消失:(BOOL)已设置动画
{
[[NSNotificationCenter defaultCenter]移除观察者:self
名称:UIKeyboardWillShowNotification
对象:无];
[[NSNotificationCenter defaultCenter]移除观察者:self
名称:UIKeyboardWillHideNotification
对象:无];
}
问题是代码工作不正常,当我点击文本查看视图而不是上升时,它会下降
有什么想法吗?
UITextView
已经是一个滚动视图了。当您输入的文本多于可见文本时,它将自动滚动。此外,用户可以随时自己滚动文本。我找到了所有问题的答案
- (void)textViewDidBeginEditing:(UITextView *)textView{
[self scrollViewAsd:130];
}
- (void)textViewDidEndEditing:(UITextView *)textView{
[self scrollViewAsd:0];
}
- (void)scrollViewAsd:(float) inset
{
[UIView animateWithDuration:.3 animations:^{
scrollView.contentInset = UIEdgeInsetsMake(0, 0, inset, 0);
scrollView.contentOffset = CGPointMake(0, inset);
}];
}
不,您不理解这个问题,我的问题是,当调用UITextView时,键盘会关闭它。。。我不想滚动整个UIView,因为键盘不会关闭我的文本视图…你是说键盘覆盖了你的文本视图?因为键盘不能关闭文本视图,只有相反的方式:P。