Xcode - Swift,UITextView不会在UIStackView上显示

Hum*_*Dev 11 uitextview ios swift uistackview

我知道有一个类似于此的问题,但他的解决方案并没有解决我的问题.

我所拥有的是,我已经使用故事板创建了一个视图控制器,然后在其上放置了一个子堆栈视图.

使用IBOutlet,我将UIStackView链接到自定义视图控制器类.

一切都正确地联系在一起,这不是问题(我已经确定).

我的问题是我似乎无法在UIStackView中显示UITextView.

这是我的代码(在视图控制器中的一个函数内):

let textView = UITextView()
textView.text = "test"
stackView.addArrangedSubview(textView) //stackView is the IBOutlet
Run Code Online (Sandbox Code Playgroud)

我已经能够使用UITextView显示在父视图上

let pos = CGRect(x: 100, y: 100, width: 200, height: 200)
let textView = UITextField(frame: pos)
textView.text = "test"
//stackView.addArrangedSubview(textView)
self.view.addSubview(textView)
Run Code Online (Sandbox Code Playgroud)

不,它不能使用stackView取消注释该行,然后注释掉self.view.addSubview

但是如果我使用UITextField,我设法在UITabView中出现一些东西.这太烦人了....

有什么建议?

Sun*_*une 59

堆栈视图不知道文本视图的大小,因为默认情况下它是可滚动的.您需要禁用滚动:

textView.isScrollEnabled = false
Run Code Online (Sandbox Code Playgroud)


Law*_*413 -2

您需要一个框架UITextView。并使用addSubview代替addArrangedSubview.

我使用了以下内容,并且文本视图在堆栈视图中显示得很好:

let textView = UITextView(frame: CGRectMake(0, 0, 100, 100))
textView.text = "test"
textView.backgroundColor = UIColor.redColor()
stackView.addSubview(textView)
Run Code Online (Sandbox Code Playgroud)