gpt4 book ai didi

iphone - 在 textFieldDidEndEditing 中隐藏 UITextField

转载 作者:行者123 更新时间:2023-11-28 22:46:00 28 4
gpt4 key购买 nike

我试图在我的应用程序中隐藏我的 UITextField。我首先尝试使用 UIButton 来实现。

为此我做了这个:

-(IBAction)hide:(id)sender {

_textField.hidden = !_textField.hidden;

}

这行得通,但现在我想在编辑后自动执行,所以我写了这段代码:

 -(void)textFieldDidEndEditing:(UITextField *)textField {

textField.hidden = YES;

}

在 .h 中我放了这段代码:

-(void)textFieldDidEndEditing:(UITextField *)textField;

谁能告诉我为什么这不起作用?

是否可以用动画隐藏它?我试过这个不起作用:

[UIView animateWithDuration:2.0 animations:^
{ code.. }
]

谢谢你帮助我!

最佳答案

UITextField 的隐藏 属性是一个 BOOL 并且不能被激活。尝试使用文本字段的 alpha 属性。它接受浮点值,其中 0.0 表示完全透明,1.0 表示完全不透明。

因此您可以设置 UITextField 的 alpha 动画以隐藏它:

[UIView animateWithDuration: 2.0 
animations:^{
textField.alpha = 0.0;
}];

正如 beryllium 所说,您还应该检查您的文本字段是否确实设置了委托(delegate),以便调用 -textFieldDidEndEditing: 方法。

我假设你有一个像这样设置的 View Controller :

@interface ViewController : UIViewController<UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *textField;
@end

然后您应该像这样将 Storyboard 中的 UITextField 的委托(delegate)导出连接到 View Controller :

enter image description here

或者您可以在 View Controller 的 -viewDidLoad 方法中以编程方式执行此操作:

- (void) viewDidLoad 
{
self.textField.delegate = self;
}

关于iphone - 在 textFieldDidEndEditing 中隐藏 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219837/

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