swift 输入框随键盘移动

step 1:

//监听键盘改变
        NSNotificationCenter.defaultCenter().addObserver(self, selector:#selector(CommentDetailViewController.keyboardWillChange(_:)), name:UIKeyboardWillChangeFrameNotification, object: nil)

step 2:

实现监听方法

func keyboardWillChange(note:NSNotification){
        let duration:Double = (note.userInfo![UIKeyboardAnimationDurationUserInfoKey]?.doubleValue)!
        let keyboardY:CGFloat = (note.userInfo![UIKeyboardFrameEndUserInfoKey]?.CGRectValue().origin.y)!
        let ty = keyboardY - SCREEN_HEIGHT
        
        UIView.animateWithDuration(duration) {
            self.fieldBar?.transform = CGAffineTransformMakeTranslation(0, ty)
        }
    }
    // 移除监听
    deinit{
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }

另:限制输入框字数

实现 UITextFieldDelegate 方法 

func textFieldDidChange(textField:UITextField){
        let cleanString = textField.text!.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
        if(NSString(string: textField.text!).length > 150){
            textField.text = NSString(string: cleanString).substringToIndex(150)
            Util.showMessage("150字够多了哦")
        }
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值