【问题标题】:iOS UITextView with attributed text not displaying from top of view带有属性文本的 iOS UITextView 未从视图顶部显示
【发布时间】:2015-03-25 06:58:23
【问题描述】:

我使用故事板在 Xcode 6.2 中创建了一个简单的 Swift 应用程序,并且我正在使用嵌入式视图控制器来管理一个 UITextView,其中包含数百个单词的格式化文本。

文本/视图本身可以完美运行,并允许用户在不同的设备等上滚动和调整大小等(使用推荐的约束),但不幸的是它总是在页面的中间加载视图,而不是像它假设的那样在顶部加载。 ..

这是一个错误还是我正在做的事情,我该如何修复它?

干杯

【问题讨论】:

  • 我也有同样的问题。你找到解决办法了吗?
  • 嗨@leighton 还没有我仍然没有解决方案...我认为它是 Xcode 的一个错误。

标签: ios xcode swift storyboard uitextview


【解决方案1】:

我也遇到了这个问题。在代码中创建一个到 UITextView 的 outlet,然后将此代码添加到 viewDidLoad(),

myTextView.scrollRangeToVisible(NSMakeRange(0, 0))

【讨论】:

  • 嗨@Thomas,我更新了我的代码,当我查看视图时它符合但崩溃了-import UIKit class InfoViewController: UIViewController { @IBOutlet weak var myTextVIew: UITextView! override func viewDidLoad() { super.viewDidLoad() myTextVIew .scrollRangeToVisible(NSMakeRange(0, 0)) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @IBAction func CloseInformation(sender:AnyObject) { self.dismissViewControllerAnimated(true, completion: nil) } }任何想法为什么?
  • 您是否将 myTextVIew 链接到情节提要中的 textView?如果不是,那么当myTextVIew.scrollRangeToVisible(NSMakeRange(0,0)) 被调用时,它将被调用一个 nil 可选并导致应用程序崩溃。如果这不是问题,我不确定是什么。 @Roksalt
  • 感谢@Thomas 的解决方案。不过,一项更改是您需要在代码中包含“位置”和“长度”。 myTextView.scrollRangeToVisible(NSRange(location: 0,length: 0))
  • 那是NSRange,不是NSMakeRange ;)
  • 这似乎不适用于UITextView中的属性文本
【解决方案2】:
override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    //sistemiamo un bug delle UITextView (se no fa vedere il testo a partire da metà e non dall'inizio)
    apDesc.hidden = false
    apDesc.scrollEnabled = false
    apDesc.text = app.summary
    apDesc.scrollEnabled = true
    apDesc.scrollRangeToVisible(NSMakeRange(0, 0))

    // questo trucco va applicato per forza DOPO che la TextView è apparsa, se no non va
    // ecco perchè queste righe sono nel metodo viewDidAppear che scatta dopo che la view è comparsa

    // facciamo una piccola animazione per non far comparire di colpo il testo
    apDesc.alpha = 0.0
    UIView.animateWithDuration(0.3) {
        self.apDesc.alpha = 1.0
    }
}

apDesc 是我的文本视图。更改为您的 textView 名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多