将 UITextField 添加到 ScrollView

Add UITextField to ScrollView

我想以编程方式将 UITextField 添加到滚动视图。我使用了下面提到的代码段

var sampleTextField = UITextField()

override func viewDidLoad() {
    super.viewDidLoad()
    scrollView.contentSize.height = 1200

    sampleTextField = UITextField(frame: CGRectMake(8, 88, 300, 30))
    sampleTextField.placeholder = "First Name"
    sampleTextField.backgroundColor = UIColor.whiteColor()
    sampleTextField.tag = 400

    self.scrollView.addSubview(sampleTextField)

}

当我 运行 代码时,我无法在滚动视图上看到文本字段。

但是当我将 self.scrollView.addSubview(sampleTextField) 替换为 self.view.addSubview(sampleTextField) 时,我可以在超级视图中看到文本字段并且它没有通过滚动视图修复。

请帮助我将文本字段添加到滚动视图。 下面的附图将有助于理解场景

你的代码适合我。

这是 IB 中的设置:注意这里没有添加 UITextFields。

ViewController.swift中的代码:

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var scrollView: UIScrollView!

   var sampleTextField = UITextField()
    var sampleTextField2 = UITextField()
    override func viewDidLoad() {
        super.viewDidLoad()

        scrollView.contentSize.height = 1200

        sampleTextField = UITextField(frame: CGRectMake(8, 88, 300, 30))
        sampleTextField.placeholder = "First Name"
        sampleTextField.backgroundColor = UIColor.whiteColor()
        sampleTextField.tag = 400

        self.scrollView.addSubview(sampleTextField)

        //

        sampleTextField2 = UITextField(frame: CGRectMake(8, 144, 300, 30))
        sampleTextField2.placeholder = "Last Name"
        sampleTextField2.backgroundColor = UIColor.whiteColor()
        sampleTextField2.tag = 401

        self.scrollView.addSubview(sampleTextField2)


    }

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

并且当运行: 显示已添加 UITextField

使用调试视图层次结构查看:

以及模拟器中的应用程序: