2014-09-12 19 views
10

Tôi hiện đang thay đổi kích thước cuộn khi bàn phím đang hoạt động. Tôi cũng sử dụng các mũi tên để cho phép người dùng nhanh chóng chuyển sang trường văn bản tiếp theo. My scrollRectToVisible không hoạt động đúng theo hướng thẳng đứng. Nó di chuyển theo chiều ngang đúng cách. Tôi đã gặp sự cố với dấu thập phân của tôiXem bàn phím trong iOS 8 đang hoạt động lạ

2014-09-12 10:29:24.039 TS[1895:455658] Can't find keyplane that supports type 8 for keyboard iPhone-Portrait-DecimalPad; using 1425143906_Portrait_iPhone-Simple-Pad_Default 

Tôi cũng đã đọc qua đoạn mã sau.

- (void)keyboardDidShow:(NSNotification *)n { 
// Find top of keyboard input view 
CGRect keyboardRect = [[[n userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; 
keyboardRect = [self.view convertRect:keyboardRect fromView:nil]; 
CGFloat keyboardTop = keyboardRect.origin.y; 

// Resize scroll view 
CGRect newScrollViewFrame = CGRectMake(0, 0, self.view.bounds.size.width, keyboardTop); 
newScrollViewFrame.size.height = keyboardTop - self.view.bounds.origin.y; 
[self.scrollView setFrame:newScrollViewFrame]; 
} 

Tôi đã nhận thấy rằng keyboardRect là 244 cho pad thập phân và 207 cho bàn phím mặc định của tôi. Tôi không chắc chắn làm thế nào để sửa lỗi này. Vấn đề này cũng chỉ xuất hiện trong iOS 8. Ứng dụng của tôi không gặp bất kỳ sự cố nào trong iOS 7. Cảm ơn bạn đã trợ giúp.

CẬP NHẬT: Tôi nhận thấy rằng khi một trường văn bản ban đầu được chọn, scrollview sẽ di chuyển một cách thích hợp. Khi bạn sau đó chọn một trường văn bản khác trong khi bàn phím lên là khi vấn đề xảy ra. Có vẻ như scrollview đặt lại kích thước của nó về kích thước ban đầu. Tại sao điều này lại xảy ra? Có cách nào để ngăn chặn điều này xảy ra không?

+0

Tôi đang đối mặt với cùng một hành vi lạ khi làm việc với scorllview và tự động hóa trong ios 8.4, Xcode 6.4. Một sửa chữa nhanh cho điều này là điều chỉnh khung của ScrollView của bạn trong textField delegate Method - (void) textFieldDidEndEditing: (UITextField *) textField. –

Trả lời

0

1) vấn đề

xem bài này: Xcode iOS 8 Keyboard types not supported

2) vấn đề:

không chắc chắn những gì bạn có ý nghĩa. có thể liên quan đến thay đổi loại bàn phím iOS 8. Và hãy nhớ rằng rect bao gồm bất kỳ accessoryview bạn thêm vào.

3) phát hành thêm trong phần cập nhật:

tôi gặp phải cùng một vấn đề, và làm tìm ra một số manh mối.

Tôi có chế độ xem cuộn được đặt bên trong viewcontroller.view và một loạt trường văn bản bên trong chế độ xem cuộn đó. Tôi làm một khung xem cuộn thay đổi kích thước trên UIKeyboardDidShowNotification và UIKeyboardWillHideNotification. Nó hoạt động tốt trên iOS7, nhưng trên iOS8 scrollview sẽ âm thầm thay đổi kích thước trở lại kích thước bình thường khi bạn tập trung vào một textfield (trở thành đầu tiên trả lời).

Tôi đã xem xét kỹ hơn. Tôi có một trang khác, được tạo trước khi nâng cấp iOS8 và vẫn hoạt động hoàn toàn tốt bằng cách sử dụng cùng một logic. Nhưng một sự khác biệt là, trong trang đó, chế độ xem cuộn được thêm theo chương trình và trang bị hỏng này là bố cục tự động (scrollview có tất cả các ràng buộc về lề không liên quan đến viewcontroller.view).

Vì vậy, tôi đã làm một bài kiểm tra, thay đổi kích thước khung và ràng buộc của viewcontroller.view trên bàn phím/ẩn và sự cố đã biến mất. Vì vậy, tôi đoán iOS8 thêm toàn bộ trang lại bố cục (tính toán lại các ràng buộc) khi xem thay đổi trả lời đầu tiên.

Bạn không chắc chắn giải pháp tốt nhất là gì. Sẽ cập nhật câu trả lời này khi tôi tìm ra cách tốt hơn để xử lý vấn đề này.

+0

Tôi chắc chắn có thể thấy sự cố liên quan đến bố cục tự động. Tôi đã không có nhiều thời gian để kiểm tra điều này gần đây. Nhưng tôi sẽ cố gắng thay đổi bố cục tự động và xem điều gì xảy ra. Cảm ơn – jmr1706

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