Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 当键盘激活时滚动_Iphone_Ios_Objective C_Uiscrollview_Scroll - Fatal编程技术网

Iphone 当键盘激活时滚动

Iphone 当键盘激活时滚动,iphone,ios,objective-c,uiscrollview,scroll,Iphone,Ios,Objective C,Uiscrollview,Scroll,我有一个应用程序,你有文本字段和一个文本视图,但当我得到键盘,它隐藏了较低的文本字段。我该怎么做呢 我试过: .m: .h: 虽然底部的文本字段仍然隐藏,但它确实会滚动到可见的文本字段您已获得发件人文本字段的来源,但仅向上移动60,因此,较低的文本字段由键盘覆盖。您需要知道键盘的高度并计算向上移动的距离。退房它有很多答案,所以我不会再解释了 要滚动到scrollview中的底部文本字段,请在TextFieldDidBegineEdit中添加以下行: CGSize content = _scrol

我有一个应用程序,你有文本字段和一个文本视图,但当我得到键盘,它隐藏了较低的文本字段。我该怎么做呢

我试过:

.m:

.h:


虽然底部的文本字段仍然隐藏,但它确实会滚动到可见的文本字段

您已获得发件人文本字段的来源,但仅向上移动60,因此,较低的文本字段由键盘覆盖。您需要知道键盘的高度并计算向上移动的距离。退房它有很多答案,所以我不会再解释了

要滚动到scrollview中的底部文本字段,请在TextFieldDidBegineEdit中添加以下行:

CGSize content = _scrollview.contentSize;
_scrollview.contentSize = CGSizeMake(content.width, content.height + 200);
这将以编程方式扩展contentSize,以便您可以滚动到最后一个文本字段,并允许键盘覆盖空白区域

在TextFieldDiEndediting或textFieldShouldReturn中,在您的情况下,添加以下内容:

CGSize content = _scrollview.contentSize;
_scrollview.contentSize = CGSizeMake(content.width, content.height - 200);

我用了一个任意的200作为例子。你需要计算出你想要多少。

一个通用解决方案,用于在iOS中将文本字段移出键盘

它非常适合我

只需在项目中复制所需的类(TPKeyboardAvoidingScrollView或TPKeyboardAvoidingTableView),然后在界面生成器文件中,您必须将UIScrollView类更改为TPKeyboardAvoidingScrollView,或将UITableView更改为TPKeyboardAvoidingTableView,其余内容将由这些类处理


您看过关于管理键盘的文档吗?有一个我认为你正在研究的例子。希望能有所帮助。

你想要实现的目标并不那么简单。您已获得发件人文本字段的原点,但仅向上移动60,因此,较低的文本字段被键盘覆盖。您需要知道键盘的高度并计算向上移动的距离。查看@Rick,它的工作原理不同于当您更改正在编辑的项目时,应用程序崩溃,如果内容太低,则无法滚动到您使用的是滚动视图,您可以使用空格扩展其contentSize,以便滚动到底部文本字段。至于应用程序崩溃的原因,你需要详细说明。@Rick我该如何添加空白?我的xib中没有空间???这不是在底部添加px,请详细说明。另外,尝试设置
pt.y-=60至<代码>零件y-=200并查看是否有任何更改。是的。此行
[sender convertRect:rc to view:\u scrollView]
。您的文本字段是否在UIView上,UIView是scrollview的子视图?不,它们只是在scrollview上。它不喜欢您发送的行。它说“使用未声明的标识符rc”,我该如何设置它,以及设置为什么
CGSize content = _scrollview.contentSize;
_scrollview.contentSize = CGSizeMake(content.width, content.height + 200);
CGSize content = _scrollview.contentSize;
_scrollview.contentSize = CGSizeMake(content.width, content.height - 200);