Iphone 选中textview时,UITextview内容向上移动
我对iphonedev这个东西很陌生,但到目前为止,我已经开发了一个相当好的应用程序,但我却意外地遇到了这个问题,而对于我来说,我似乎无法解决这个问题 该应用程序基本上是社交网站的聊天应用程序。除了当前为UITextbox的输入框外,所有功能均100%正常工作。这工作很好,但我希望该框增长,成为一个多行UITextbox与滚动。我用UITextview替换了UITextbox,一切都很好。当用户输入文本时,我的UITextview正在扩展,但是有一个小问题让我发疯 当UITextview获得焦点时,它会将光标和其中的任何文本向上移动,使其离开视图。默认情况下,我将UITextview设置为显示2行,然后当文本高度超过这两行时,我希望框变大(确实如此),并且文本保持向上滚动,以便您可以看到正在键入的内容。如果你看看iPhone上的短信应用程序,这正是我希望它的工作方式 任何智慧之言都将不胜感激。请查看: Three20是iPhone UI类(如照片查看器)和通用实用程序(如HTTP磁盘缓存)的集合。Three20源于Facebook的iPhone应用程序,这是有史以来下载最多的iPhone应用程序之一 具体来说,您需要了解: TTTextEditor是一个UITextView,可以在键入时自动增加高度。我用它在Facebook聊天中输入信息,它的行为与苹果短信应用程序中的编辑器类似。 您将找到有关如何向项目中添加three20的说明。请查看: Three20是iPhone UI类(如照片查看器)和通用实用程序(如HTTP磁盘缓存)的集合。Three20源于Facebook的iPhone应用程序,这是有史以来下载最多的iPhone应用程序之一 具体来说,您需要了解: TTTextEditor是一个UITextView,可以在键入时自动增加高度。我用它在Facebook聊天中输入信息,它的行为与苹果短信应用程序中的编辑器类似。Iphone 选中textview时,UITextview内容向上移动,iphone,scroll,uitextview,Iphone,Scroll,Uitextview,我对iphonedev这个东西很陌生,但到目前为止,我已经开发了一个相当好的应用程序,但我却意外地遇到了这个问题,而对于我来说,我似乎无法解决这个问题 该应用程序基本上是社交网站的聊天应用程序。除了当前为UITextbox的输入框外,所有功能均100%正常工作。这工作很好,但我希望该框增长,成为一个多行UITextbox与滚动。我用UITextview替换了UITextbox,一切都很好。当用户输入文本时,我的UITextview正在扩展,但是有一个小问题让我发疯 当UITextview获得焦点
您将找到如何在项目中添加three20的说明。我认为Blaenk的回答非常完美(这将是我的答案)。但为了防止您不想在项目中包含Three20(它有点大),下面是TTTextEditor的相关代码。您应该能够从展开文本视图的任何位置调用此函数
- (void)scrollContainerToCursor:(UIScrollView*)scrollView {
if (_textView.hasText) {
if (scrollView.contentSize.height > scrollView.height) {
NSRange range = _textView.selectedRange;
if (range.location == _textView.text.length) {
[scrollView scrollRectToVisible:CGRectMake(0,scrollView.contentSize.height-1,1,1)
animated:NO];
}
} else {
[scrollView scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];
}
}
}
我认为布兰克的回答很完美(这将是我的答案)。但为了防止您不想在项目中包含Three20(它有点大),下面是TTTextEditor的相关代码。您应该能够从展开文本视图的任何位置调用此函数
- (void)scrollContainerToCursor:(UIScrollView*)scrollView {
if (_textView.hasText) {
if (scrollView.contentSize.height > scrollView.height) {
NSRange range = _textView.selectedRange;
if (range.location == _textView.text.length) {
[scrollView scrollRectToVisible:CGRectMake(0,scrollView.contentSize.height-1,1,1)
animated:NO];
}
} else {
[scrollView scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];
}
}
}
为此,我创建了UITextView的子类: 它是一个基于自动布局的轻量级UITextView子类,它根据用户输入的大小自动增长和收缩,并且可以受最大和最小高度的约束—所有这些都不需要一行代码
该类主要用于Interface builder,仅适用于自动布局。我为UITextView创建了一个子类,仅用于此: 它是一个基于自动布局的轻量级UITextView子类,它根据用户输入的大小自动增长和收缩,并且可以受最大和最小高度的约束—所有这些都不需要一行代码
该类主要用于Interface builder,仅适用于自动布局。感谢Benjamin,我使用了您在上面发布的内容,并获取了使我的框工作所需的内容。虽然做了一些修改,但最终我还是成功地让它按我需要的方式工作。谢谢本杰明,我用了你上面贴的东西,并用了我需要的东西来让我的盒子工作。虽然做了点小动作,但最后我还是设法让它按我需要的方式工作。谢谢你的指点。我绝对可以用这样的东西。目前的项目是第一阶段,将是第二阶段的基本版本。我将在项目的第二阶段研究如何使用该框架。谢谢你们两位的帮助。我真的很感激。谢谢你的指点。我绝对可以用这样的东西。目前的项目是第一阶段,将是第二阶段的基本版本。我将在项目的第二阶段研究如何使用该框架。谢谢你们两位的帮助。我真的很感激。