是否可以在 swift 中使 UILabel 可编辑?

Is it possible to make a UILabel editable in swift?

我希望我的用户能够在我的应用程序中编辑 UIlabel,类似于单击 UITextView 时调出键盘来编辑文本的方式。我想使用 UILabel 而不是 UITextView,因为我需要能够隐藏此视图,但似乎无法隐藏 UITextView。我也尝试过使用 UITextField 但这也不起作用,因为我需要包装内容。

您可以从 textField 输入文本,然后在标签中显示结果

Is it possible to make a UILabel editable in swift?

不直接;您必须将其替换为支持编辑的对象。 UILabel 文档在顶部说:

A view that displays one or more lines of informational text.

也就是说,UILabel是为了显示的文字;那里没有任何支持编辑的东西。所以,如果你想让用户编辑标签的内容,你必须临时用一个可编辑的对象替换标签,比如UITextViewUITextField或者你自己创建的东西。

TL/DR: 如果您为需要编辑的文本使用标签,则您可能使用了错误的工具。

I want to use a UILabel instead of a UITextView because I need to be able to hide this view and it does not seem possible to hide a UITextView.

我不确定你为什么这么说; UITextViewUIView 的子类,因此它与所有其他视图一样具有 hidden 属性。还有一个 alpha 属性 并没有隐藏视图而是使其透明,但在某些情况下可能仍然有用。如果前两个选项由于某种原因不起作用,还有一个选项是通过从视图图中删除视图来“隐藏”视图。但是只需设置 hidden 属性 就可以了。