将UITextField添加到ScrollView

时间:2015-11-29 09:07:14

标签: ios swift uitextfield

我想以编程方式将UITextField添加到Scroll View。我使用了下面提到的代码段

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)时,我可以在超级视图中看到文本字段,并且没有使用滚动视图修复。

请帮我在滚动视图中添加文本字段。 波纹管附图将有助于理解场景

Scene

1 个答案:

答案 0 :(得分:1)

您的代码就是我的作品。

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

enter image description here

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时

使用Debug View Hierarchy查看:

enter image description here

模拟器中的应用程序:

enter image description here