以编程方式隐藏和取消隐藏按钮

时间:2015-11-04 08:40:05

标签: ios swift uibutton

我试图在文本字段为空时隐藏按钮,然后在用户开始键入时显示它。

我尝试为按钮创建一个插座,并在viewDidLoad中使用while循环来实现按钮和文本字段的插座。它没有用,我一直在寻找,但大部分代码都是客观的 - 所以我很难将它翻译成快速。

文本字段为空时是否可以隐藏按钮?

Swift首选

3 个答案:

答案 0 :(得分:0)

试用此代码:

func textField(textField: UITextField, shouldChangeCharactersInRange range:NSRange, replacementString string: String) -> Bool 
{
    text = text.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
    var strMsg: String = textView.text.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
    if strMsg.length() > 0 || text.length() > 0 
    {
         self.YourButton.alpha = 1.0
         self.YourButton.enabled = true
    }
    else 
    {
         self.YourButton.alpha = 0.5
         self.YourButton.enabled = false
    }
    return true
}

答案 1 :(得分:0)

使用UITextFieldDelegate隐藏和显示按钮。

sbt "; <command>; console"

可能会帮助你。

答案 2 :(得分:0)

首先,您必须使用此代码隐藏按钮。

btn1.hidden = YES;

将UITextFieldDelegate分配给文件所有者后,也在.h文件中实现相同的委托

之后,当你开始在textfield上写一些文字的时候就是这段代码。

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
     NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];

     [self updateTextLabelsWithText: newString];

     return YES;
}

-(void)updateTextLabelsWithText:(NSString *)string
 {
    [myLabel setText:string];
 }

运行文本字段文本时

btn1.hidden = NO;

希望这有帮助。