Tôi đang sử dụng cửa sổ bật lên để hiển thị biểu mẫu xem bảng có kích thước iPhone (khớp với ứng dụng iPhone của tôi). Bên trong bảng, tôi có một trường văn bản có bộ chọn làm chế độ xem đầu vào. Khi nó được sử dụng theo cách này như một iPad bộ chọn trượt lên như bàn phím iPad. Có anyway để thiết lập các bộ chọn để trượt lên trong popover giống như nó sẽ trên iPhone?Bộ chọn như inputview bên trong cửa sổ bật lên
Trả lời
Bạn không thể thực hiện việc này trực tiếp (dưới dạng inputView). Nhưng bạn chắc chắn có thể sử dụng tác phẩm đơn giản này xung quanh:
Thay bạn
UITextField
với UIButton và kết nối nó với một số selector (buttonClicked :). Bạn có thể sử dụngUIButtonTypeCustom
để có thể phong nó để nó trông giống như trường văn bản (layer set củabordeColor, borderWidth, cornerRadius
, vv ..)trong
-(void)buttonClicked:(id)sender
- chuyển đổi các UIPickerView cùng bạn sẽ sử dụng như inputView cho thayUITextField
. Bạn có thể thực hiện trong biến cá thể thông thường, chỉ cần nhớ đặt delegate và DataSource. Đính kèm nó vào chế độ xem gốc (trong sốUIViewController
hiển thị trong cửa sổ bật lên) hoặc thậm chíUIWindow
và tạo hiệu ứng động vào hoặc ra (chuyển đổi) tùy thuộc vào việc nó đã được hiển thị hay chưa.cập nhật nút của văn bản (bằng cách sử dụng
[button setTitle:<selected_value> forState:UIControlStateNormal]
) trongUIPickerViewDelegate
phương pháp: pickerView: didSelect ... atIndex: `- bạn bổ sung có thể ẩn bảng chọn ở đây ..
Tôi đã làm nó nhiều lần, nó luôn hoạt động trong mọi trường hợp và bạn có toàn quyền kiểm soát về cách thức và nơi bộ chọn được hiển thị mà không cần liên quan đến chuỗi UIResponder
.
Không tìm thấy giải pháp tốt hơn cho những trường hợp đặc biệt như vậy (bàn phím iPad thích điều khiển các cửa sổ bật lên cũng - nó đẩy chúng lên).
kiểm tra điều này .http: //stackoverflow.com/questions/9988165/hide-uipickerview-on-done-button-in-uitableview-solved – hacker