ios - UITextContainerView 不调整大小作为他的 UITextView superview,仅当旋转角度大于 45°

标签 ios swift uitextview

我有一个 UITextView 可以同时通过捏合和旋转手势调整大小。 为了调整它的大小,我调用了捏合手势处理函数中的函数 textViewDidChange(),同时发送者状态的类型为 .changed 并且在增加 TextView 的字体大小之后。

函数如下:

func textViewDidChange(_ textView: UITextView) {

    textView.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude, height: CGFloat.greatestFiniteMagnitude))
    let newSize = textView.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude, height: CGFloat.greatestFiniteMagnitude))
    var newFrame = textView.bounds

    newFrame.size = CGSize(width: newSize.width, height: newSize.height)

    textView.bounds = newFrame

}

问题是,当我以大于 45 度的角度旋转 TextView 时, TextView 的文本被裁剪。使用 Debug View Hierarchy,我注意到 TextView 的 UITextContainerView 的宽度小于其父 View 。

Debug View Hierarchy screen红色矩形是 TextView ,突出显示的是它的 UITextContainerView。

TextView 可以正确调整大小,但 UITextContainerView 不能。 我不明白为什么会这样,有人可以帮助我吗?

[有一个指向 YouTube 视频的链接,但已被删除,因此该链接已被删除。]

最佳答案

在 textView 上禁用滚动。 这会根据 contentSize 自动增加 textView 的高度。

textView.isScrollEnabled = false

关于ios - UITextContainerView 不调整大小作为他的 UITextView superview,仅当旋转角度大于 45°,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51501561/

相关文章:

ios - 在ios中使用数组列表创建翻译应用程序

ios - 如何进行 UITextView 滚动检测和更改图像

选择预测文本并将其添加到文本时,不会触发 iOS textViewDidChange

javascript - react native 错误 : undefined is not an object (evaluating 'Object.keys(dataBlob[sectionID])' )

swift - 如何在没有 Storyboard文件的情况下将另一个 viewController 推送到屏幕?我尝试过以下代码但没有任何反应

ios - Firebase queryEqual 不起作用

ios - 获取UITextView中链接的文本范围

ios - 从 dequeueReusableCellWithIdentifier 获取 nil

ios - 我可以编写使用 TCP/UDP 通信的 iPhone/iPad 应用程序吗?

ios - 我应该如何构建我的应用程序来处理传入的蓝牙数据?