2014-11-14 29 views
5

Tôi có một dự án phổ quát cho iOS được tạo trong xCode 5 mà tôi đang cố gắng chuyển sang xCode 6. Mọi thứ dường như đã ổn vì tôi không sử dụng LaunchScreen và iPhone 6 và 6 Plus mở rộng quy mô ứng dụng đến độ phân giải của chúng.Vấn đề định hướng iOS 8: Bàn phím kết thúc ở vị trí không chính xác

Sự cố xảy ra khi thiết bị thay đổi hướng của nó.

Kịch bản:

Nó chỉ xảy ra trên iPhone 6 và 6 Plus.

Mở màn hình Đăng nhập bằng các trường tên người dùng và mật khẩu. Xoay thiết bị sang Landscape và chạm vào trường tên người dùng hoặc mật khẩu. Bàn phím xuất hiện ở giữa màn hình với một nửa cắt. Xoay trở lại chân dung ẩn bàn phím hoàn toàn và nó không còn xuất hiện trên màn hình cho dù bạn gõ vào trường nào.

Để lấy lại bàn phím, hãy quay lại Chế độ ngang, chạm vào thiết bị xoay vòng trường để đối diện với Landscape (không để nó ở chế độ Chân dung). Bàn phím đột nhiên trở nên bình thường và hoạt động tốt.

Problematic Keyboard

+0

Sự cố này có được giải quyết không? Nếu có, bạn giải quyết nó như thế nào? – IamAnil

+0

Các giải pháp là những gì tôi đã nói trong câu trả lời của tôi: không sử dụng chế độ thu nhỏ cho iphones với kích thước màn hình> 4 " – Gui13

Trả lời

5

Tôi có cùng một vấn đề, và đó là bởi vì ứng dụng của bạn được đưa ra trong quy mô chế độ.
Dường như Apple không đi theo cách đầy đủ để xử lý cảnh quan ở chế độ được thu nhỏ này.

Giải pháp là để chuyển sang chế độ không có quy mô cho iPhone 6-6Plus, bằng cách sử dụng thủ thuật quy định ở đây: How to enable native resolution for apps on iPhone 6 and 6 Plus?

Lưu ý rằng điều này có thể sẽ phá vỡ rất nhiều màn hình của bạn trong quá trình này .. nhưng có không có giải pháp nào khác.

0

Tôi đã gặp sự cố này với chế độ có thể mở rộng của ứng dụng. Mặc dù hỗ trợ chế độ không mở rộng (bằng cách thêm iPhone 6 & 6+ hình ảnh khởi chạy vào xcassets) giải quyết vấn đề này, nó không được phép trong trường hợp của tôi vì màn hình có bố cục tĩnh cho mỗi hướng. Tôi có thể giải quyết vấn đề này bằng cách tránh sự cố thay đổi bộ điều khiển chế độ xem gốc của cửa sổ. Thay vào đó, các bộ điều khiển xem mới đã được thêm vào (với việc loại bỏ cân bằng) làm subview (và do đó childViewController) cho bộ điều khiển xem gốc hiện có.

0

Mọi thứ đều ổn trên iOS6/7, Nhưng không phải iOS8.

Hướng của bàn phím trên iOS 8 không giống như thanh trạng thái.

0

Nếu ứng dụng của bạn chỉ chạy chế độ dọc, bạn có thể ngừng tạo thông báo định hướng;

[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; 
+0

Tôi đã cố gắng dừng bàn phím quay trong ứng dụng duy nhất của tôi, xin lỗi cái này không hoạt động cho tôi: ( –

0

Tôi đã gặp vấn đề này và sau một số nghiên cứu, tôi đã tìm thấy một số nội dung gây ra lỗi đó. Trong appdelegate của tôi, tôi đã thay đổi cửa sổ rootViewController để hiển thị ViewControllers khác nhau phụ thuộc của trạng thái ủy quyền

if (!auth) 
{ 
    self.window.rootViewController = [[AuthViewController alloc] init]; 
} else { 
    self.window.rootViewController = [[DataViewController alloc] init]; 
} 

Tôi đã gỡ bỏ này và di chuyển điều khiển chọn logic để NavigationViewController

if (!auth) 
{ 
    self.viewControllers = @[[[AuthViewController alloc] init]]; 
} else { 
    self.viewControllers = @[[[DataViewController alloc] init]]; 
} 

và làm NavigationViewController này như Storyboard điều khiển xem ban đầu.

Hy vọng điều đó sẽ hữu ích!

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