ViewController показывает объекты не из источника 0

У меня проблема при переходе на новый ViewController: Новый ViewController имеет scrollView в нем, который начинается в origin y: 0, scrollView имеет textView это начинается в origin y: 0,

НО, когда я запускаю приложение на симуляторе, оно показывает мне textView где-то в середине экрана, по какой-то причине.

Я добавил scrollView и textView программно.

Вот мой код:

class addViewController: UIViewController, UIPickerViewDelegate, UIScrollViewDelegate {

     var textView = UITextView()
     var scrollView = UIScrollView()

     override func viewDidLoad() {
        super.viewDidLoad()

        scrollView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
        view.addSubview(scrollView)

        textView.frame = CGRect(x: 20.0, y: 0, width: 250.0, height: 100.0)
        textView.center = self.view.center
        textView.textAlignment = NSTextAlignment.justified
        textView.textColor = UIColor.blue
        textView.backgroundColor = UIColor.lightGray
        textView.text = "texttttt"

        scrollView.addSubview(textView)
        scrollView.contentSize = CGSize(width: view.frame.width, height: view.frame.height)
}

Чтобы добраться до этого ViewController - Вы нажимаете на ячейку в предыдущем ViewControllerэто код внутри didSelectCellAt:

let addNoteVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "addViewController") as! addViewController

self.navigationController?.pushViewController(addNoteVC, animated: true)

1 ответ

Решение

Вы должны пересмотреть свою линию textView.center = self.view.center, Это заменит кадр, который вы установили ранее. А так как вы, кажется, знаете, куда поместить его с рамкой, просто удалите его

Другие вопросы по тегам