键盘通知

时间:2015-01-24 18:51:26

标签: ios swift nsnotificationcenter uikeyboard custom-keyboard

我正在尝试使用键盘扩展程序从userInfo获取键盘大小。

我添加

NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardDidShowNotification, object: nil)

在我的 KeyboardViewController.swift 中,但keyboardWillShow永远不会被调用。

3 个答案:

答案 0 :(得分:8)

首先注册键盘通知

func keyboardWillShow(notification: NSNotification) {
    let userInfo = notification.userInfo!
    let keyboardHeight = (userInfo[UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue().height
}

然后

static public DisplayImageOptions options= new DisplayImageOptions.Builder().cacheOnDisk(true).cacheInMemory(true).build();
    imageLoader.displayImage(imgUrl, ivImage, options, new ImageLoadingListener() {

        public void onLoadingStarted(String imageUri, View view) {
            ((ImageView)view).setImageResource(R.drawable.nofoto);
        }

        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
            ((ImageView)view).setImageResource(R.drawable.nofoto);
        }

        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {

        }

        public void onLoadingCancelled(String imageUri, View view) {
        }

    });

你的身高值是CGFloat

答案 1 :(得分:0)

在viewWillAppear中,您添加了self.subscribeToKeyboardNotifications()吗?只是一个猜测,你的KeyboardViewController是否与键盘出现的ViewController分开?如果是这样,请在实际ViewController的func中添加`NSNotificationCenter.defaultCenter()。addObserver(self,selector:" keyboardWillShow:",name:UIKeyboardDidShowNotification,object:nil)。

答案 2 :(得分:0)

使用以下代码 Swift 3.0

SUM