gpt4 book ai didi

iphone - swift 将标签从其位置向左移动

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:47 28 4
gpt4 key购买 nike

我在文本框中放了一个标签,我想在点击这个文本框后将这个标签移到左侧。在下面的屏幕截图中,“你好”是一个标签,我想在点击文本框后将其向左移动。

enter image description here

我编写了以下代码,但未调用“textFieldDidBeginEditing”函数

@IBOutlet weak var lblhello: UILabel!
func textFieldDidBeginEditing(numtxt: UITextField!) { //delegate method
lblhello.frame = CGRectMake(98, 156, 42, 21)
}

最佳答案

我根据之前的评论假设您要手动指定帧大小,并且不使用约束。

首先,您需要将 UITextFieldDelegate 添加到您的 viewController。

这是在你的 VC 类开始时这样做的:

class yourViewControllerName: UIViewController, UITextFieldDelegate {

然后你想指定你的 UITextField 的委托(delegate),(最有可能在 viewDidLoad 中)

yourTextFieldName.delegate = self

现在您可以使用 textFieldDelegate 函数。你要找的 on 可能是这样的:

func textFieldDidBeginEditing(textField: UITextField) -> Bool {
lblhello.frame = CGRectMake(160, 200, 60, 40)
return true
}

如果一切设置正确,当用户开始编辑您的 UITextField 时,应该会更改 lblhello 的框架。

我经常听到人们说这不起作用的一个常见问题。由 viewDidLoad() 中指定的标签引起。大多数情况下,您希望在 viewDidLoad() 之前声明标签,否则像这样的函数无法访问它。

以防你之后想把它移回原来的位置。您所做的几乎与您在 textFieldDidBeginEditing 中所做的相同,只是您使用 textFieldDidEndEditing 代替。

但是,在旁注中。我确实建议习惯于使用约束,而不是为这样的事情设置框架。

关于iphone - swift 将标签从其位置向左移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29204076/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com