我有一个严重的问题,我似乎无法修复,这让我在过去两天疯狂.我已经搜索了很多,我找不到解决方案,即使我尝试了很多.
我有一个UITextView内部UIScrollView.我能够动态调整UITextViewscrollview内部的大小来显示文本.但是当UITextView包含非常大的文本时,当我几乎滚动到最后时它会被切断.但是,UIScrollView框架的尺寸仍然正确.
在UIScrollview和UITextview均在厦门国际银行使用自动版式创建.
这是我当前的代码和截图,因为您可以看到屏幕截图中的空白点应填充文本.请帮忙.

- (void)viewDidAppear:(BOOL)animated
{
CGRect frame = self.longDescField.frame;
frame.size.height = self.longDescField.contentSize.height;
self.longDescField.frame = frame;
self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, self.longDescField.contentSize.height + 200);
self.scrollView.scrollEnabled = YES;
[self.scrollView flashScrollIndicators];
}
Run Code Online (Sandbox Code Playgroud) 从iOS 7开始,UITextView当用户键入流向新行的文本时,a 不会自动滚动到光标.这个问题在SO和其他地方都有详细记载.对我来说,这个问题仍然存在于iOS 7.1中.我究竟做错了什么?

我安装了Xcode 5.1并针对iOS 7.1.我正在使用自动布局.
以下是我将文本视图的内容放在键盘上方的方法:
- (void)keyboardUp:(NSNotification *)notification
{
NSDictionary *info = [notification userInfo];
CGRect keyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
keyboardRect = [self.view convertRect:keyboardRect fromView:nil];
UIEdgeInsets contentInset = self.textView.contentInset;
contentInset.bottom = keyboardRect.size.height;
self.textView.contentInset = contentInset;
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试:我已经尝试了许多张贴的解决方案,因此,在这个问题,因为它涉及到iOS 7,所有这一切我已经尝试做解决方案的不似乎保持良好的显示属性串文本视图.在以下三个步骤中,我概述了SO(/sf/answers/1349416841/)上最多投票的答案如何响应用户第一次点击返回键.
(1.)文本视图成为第一个响应者viewDidLoad.滚动到光标所在文本视图的底部.

(2.)在键入单个字符之前,请点击键盘上的返回键.插入符号消失在视线之外.

(3)然而,再次点击返回键似乎使情况正常化.(注意:删除后一个新行会使插入符号再次消失).

我有一个UIViewCOntroller包含一个UITextView.当键盘出现时我按如下方式调整大小:
#pragma mark - Responding to keyboard events
- (void)keyboardDidShow:(NSNotification *)notification
{
NSDictionary* info = [notification userInfo];
CGRect keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect newTextViewFrame = self.textView.frame;
newTextViewFrame.size.height -= keyboardSize.size.height + 70;
self.textView.frame = newTextViewFrame;
self.textView.backgroundColor = [UIColor yellowColor];
}
- (void)keyboardWillHide:(NSNotification *)notification
{
NSDictionary* info = [notification userInfo];
CGRect keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect newTextViewFrame = self.textView.frame;
newTextViewFrame.size.height += keyboardSize.size.height - 70;
self.textView.frame = newTextViewFrame;
}
Run Code Online (Sandbox Code Playgroud)
textView似乎重新调整到合适的大小,但是当用户键入光标时,最终会在textView框架的"外部".见下图:

黄色区域是UITextView框架(我不知道R键旁边的蓝线是什么).我发现这很有线.如果这有任何区别,我正在使用iOS7.
任何想法或提示?
更新
我有一个UITextView子类,使用以下方法绘制水平线(如果这有任何区别):
- …Run Code Online (Sandbox Code Playgroud) 我制作了一个垂直文本视图,用于蒙古语.它是一个自定义文本视图,由三层视图组成:子UITextView视图,容器视图(旋转90度并翻转)以保存UITextView和父视图.(有关更多背景信息,请参阅此处和此处.)
只要介于最小和最大大小之间,视图就会根据基础文本视图的内容大小增加其大小.但是,在过去的几天里,我一直在努力修复一个错误,即添加了一个额外的空间并且内容向左移动(这将在底层文本视图的坐标上).这可以在下图中观察到.黄色视图是自定义文本视图(inputWindow在下面的视图控制器代码中调用.)
点击输入几次以增加内容视图的大小后,会添加一个额外的空格.试图滚动视图什么也没做.(在宽度达到最大值并且内容大小大于帧大小之后滚动会起作用.)就好像内容在它被放置到正确位置之前被冻结到位时处于滚动的中间位置.如果我插入另一个字符(如空格),则内容视图会将其自身更新到正确的位置.
我需要改变什么?或者,如何手动强制底层UITextView显示其内容视图在正确的位置?
我试图删除所有无关的代码,只留下View Controller和Custom Vertical TextView的相关部分.如果还有其他我应该包括的内容,请告诉我.
查看控制器
视图控制器在内容视图大小更改时更新自定义文本视图的大小约束.
import UIKit
class TempViewController: UIViewController, KeyboardDelegate {
let minimumInputWindowSize = CGSize(width: 80, height: 150)
let inputWindowSizeIncrement: CGFloat = 50
// MARK:- Outlets
@IBOutlet weak var inputWindow: UIVerticalTextView!
@IBOutlet weak var topContainerView: UIView!
@IBOutlet weak var keyboardContainer: KeyboardController!
@IBOutlet weak var inputWindowHeightConstraint: NSLayoutConstraint!
@IBOutlet weak var inputWindowWidthConstraint: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
// get rid …Run Code Online (Sandbox Code Playgroud) ios ×4
uitextview ×4
cocoa-touch ×1
ios7 ×1
ios7.1 ×1
iphone ×1
objective-c ×1
swift ×1
uikeyboard ×1
uiscrollview ×1