iOS标签并非从顶部开始

时间:2018-07-13 09:14:05

标签: ios swift xcode label

我的控制器允许我从标签内的歌曲中显示文本,但我不知道为什么文本的重心放在最后。当我想查看文字时,总会看到歌曲已经滚动过。我想从顶部开始播放歌曲,然后滚动或缩放。 每当我想看到一首比页面长的歌曲时,就好像已经滚动了一样,但是如果我想看到一首比页面短的歌曲,它就可以正常工作。我该如何解决? 这是我的代码:

import UIKit

class DettaglioCanti: UIViewController {

    var dettaglioCanzone: VociMontagna? {
        didSet {
            configureView()
        }
    }

    var valoriPassati: VociMontagna?

    @IBOutlet weak var tv_titolo: UILabel!

    @IBOutlet weak var tv_artista: UILabel!

    @IBOutlet weak var tv_testoCanzone: UITextView!

    @IBAction func btt_note(_ sender: Any) {
        startPopUp()
    }
    @IBOutlet weak var btt_note_2: UIButton!

    var pinchGesture = UIPinchGestureRecognizer()

    override func viewDidLoad() {
        super.viewDidLoad()

        configureView()
        pinchGesture = UIPinchGestureRecognizer(target: self, action:#selector(pinchText(sender:)))
        tv_testoCanzone.addGestureRecognizer(pinchGesture)
        let range = NSMakeRange(tv_testoCanzone.text.count - 1, 0)
        tv_testoCanzone.scrollRangeToVisible(range)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @objc func pinchText(sender: UIPinchGestureRecognizer) {
        var pointSize = tv_testoCanzone.font?.pointSize

        pointSize = ((sender.velocity > 0) ? 1 : -1) * 1 + pointSize!;

        //Definisco i limiti dello zoom per il testo
        if (pointSize! < 13) {pointSize = 13}
        if (pointSize! > 42) {pointSize = 42}

        tv_testoCanzone.font = UIFont( name: "arial", size: (pointSize)!)
    }

    func configureView() {
        if let dettaglioCanzone = dettaglioCanzone {
            if let tv_titolo = tv_titolo, let tv_testoCanzone = tv_testoCanzone, let tv_artista = tv_artista {
                tv_titolo.text = dettaglioCanzone.titolo
                tv_artista.text = dettaglioCanzone.artista
                tv_testoCanzone.text = loadFile(file: dettaglioCanzone.nomeTesto)
                if (dettaglioCanzone.nomeNota == "0") {btt_note_2.isHidden = true}
            }
        }
    }

    func loadFile(file name:String) -> String {
        if let path = Bundle.main.path(forResource: name, ofType: "txt") {
            if let contents = try? String(contentsOfFile: path) {
                return contents
            } else {
                print("Error! - This file doesn't contain any text.")
            }
        } else {
            print("Error! - This file doesn't exist.")
        }
        return ""
    }

}

0 个答案:

没有答案