2014-09-17 21 views
5

Tôi có chúng tôi cố gắng hiển thị chính nó phía trên bàn phím và không được di chuyển khi bàn phím được mở.phát hiện bàn phím quicktype của iOS 8 được mở hoặc đóng mà không cần thông báo

Tôi có thể điều chỉnh vị trí hiển thị nhưng với bàn phím quicktype Tôi không thể xác định chiều cao của bàn phím trừ khi tôi biết nếu quicktype được mở hay đóng. Có cách nào tôi có thể xác định điều này?

+0

Hãy nhìn vào giải pháp của tôi trong liên kết: http://stackoverflow.com/questions/26213681/ios-8- keyboard-hides-my-textview/26226732 # 26226732 –

Trả lời

8

Bạn nên sử dụng thông báo keyboardWillShow: để điều chỉnh các khung chế độ xem khác.

Thông báo được đăng lên keyboardWillShow: không chỉ trên becomeFirstResponder cho TextView/Field mà còn khi người dùng hiển thị/ẩn bàn phím loại nhanh.

sau khi keyboardWillShow: thông báo đã được đăng, khung của bàn phím có thể được chụp bởi UIKeyboardFrameEndUserInfoKey trong đối tượng thông báo.

Một ví dụ về textView rằng điều chỉnh khung của nó dựa trên bàn phím:

- (void)keyboardWillShow:(NSNotification *)notification 
{ 
    CGRect keyboardRect = [[[notification userInfo] valueForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; 
    NSTimeInterval duration = [[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; 
    UIViewAnimationCurve curve = [[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]; 

    [UIView animateWithDuration:duration animations:^{ 

    [UIView setAnimationCurve:curve]; 
    self.textViewVisualEffectView.frame = CGRectMake(self.textViewVisualEffectView.origin.x, self.view.height - keyboardRect.size.height - self.textViewVisualEffectView.height, self.textViewVisualEffectView.width, self.textViewVisualEffectView.height); 

    } completion:^(BOOL finished) { 

    }]; 
} 
+0

tại thời điểm này trong mã của tôi, bàn phím chưa bao giờ được hiển thị và do đó không có thông báo. – madmik3

+0

Điều này không trả lời câu hỏi của người hỏi nói về khu vực quicktype phía trên bàn phím. Có, kích thước bàn phím được chụp khi khởi chạy, nhưng vùng quicktype không được bao gồm trong lần khởi chạy. Vì vậy, khi người dùng bắt đầu nhập văn bản, khu vực quicktype được hiển thị. Khu vực quicktype ẩn một số màn hình. –

Các vấn đề liên quan