禁用UITextView中的滚动,同时避免在ios的当前位置跳转到顶部和文本不可见
我尝试了很多方法,但都没有找到解决办法。任何想法都可以帮助我评估这一点。我制作了一个全视图DrawBoard类,该类继承自UITextView类。当视图控制器上的开关打开时,用户可以键入和滚动,当它关闭时,用户可以在DrawBoard上绘制禁用UITextView中的滚动,同时避免在ios的当前位置跳转到顶部和文本不可见,ios,swift,cocoa,cocoa-touch,uiscrollview,Ios,Swift,Cocoa,Cocoa Touch,Uiscrollview,我尝试了很多方法,但都没有找到解决办法。任何想法都可以帮助我评估这一点。我制作了一个全视图DrawBoard类,该类继承自UITextView类。当视图控制器上的开关打开时,用户可以键入和滚动,当它关闭时,用户可以在DrawBoard上绘制 @IBAction func changeSwitch(sender: UISwitch) { if sender.on{ drawBoard.setNeedsDisplay() drawBoa
@IBAction func changeSwitch(sender: UISwitch) {
if sender.on{
drawBoard.setNeedsDisplay()
drawBoard.scrollEnabled = true
drawBoard.editable = true
drawBoard.selectable = true
drawBoard.switchBool = false
}else if !sender.on {
drawBoard.switchBool=true
let a:CGPoint = drawBoard.contentOffset
drawBoard.scrollEnabled = false
drawBoard.setContentOffset(a, animated: false)
drawBoard.editable = false
drawBoard.selectable=false
}
}
它更新了滚动,但是scrolldenabled=false
只保存文本视图第一页范围内的文本,以便自动滚动到顶部并禁用滚动。然后,当我设置contentoffset时,背景的可绘制视图可见,并在文本视图的正确位置绘制。但是,应该位于其顶部的文本不可见。只有当我不在第一页的范围内时,切换按钮被设置为关闭时,才会发生这种情况。如何使该范围内的文本可见
很抱歉,如果这是一个非常简单的问题,我是编程新手,为此花了很长时间。谢谢。您必须更新UIScrollView的内容大小 像这样:
scrollView.contentSize = CGSize(width: 100, height: 100)
“内容大小”决定可滚动内容的大小,如果它不够大,无法覆盖新的视图,您将无法在滚动视图中看到它。我没有滚动视图,我只有一个自定义的UITextView类绘图板,我不想限制它的高度。我遇到的问题是scrollEnabled=false,因为它会自动将UITextView的滚动条反弹到顶部。ScrollEnabled会妨碍setContentOffSet(在上面的代码中使用),并且CGA点下方的文本不会显示在textView中,尽管内容位于正确的位置。我希望问题现在更清楚一点。谢谢你的回复。如果存在误解,您是否建议我将上述问题与此澄清一起编辑?