Với SDK iOS:
Tôi có một cái UIView
với UITextField
bàn phím. Tôi cần nó để có thể:
Cho phép cuộn các nội dung của
UIScrollView
để xem các trường văn bản khác sau khi bàn phím được đưa lênTự động "nhảy" (bằng cách cuộn lên) hoặc rút ngắn
Tôi biết rằng tôi cần a UIScrollView
. Tôi đã thử thay đổi lớp của tôi UIView
thành một UIScrollView
nhưng tôi vẫn không thể cuộn các hộp văn bản lên hoặc xuống.
Tôi có cần cả a UIView
và a UIScrollView
không? Có một đi vào bên trong khác?
Những gì cần phải được thực hiện để tự động cuộn đến trường văn bản hoạt động?
Lý tưởng nhất là càng nhiều thiết lập các thành phần càng tốt sẽ được thực hiện trong Interface Builder. Tôi chỉ muốn viết mã cho những gì cần nó.
Lưu ý: UIView
(hoặc UIScrollView
) mà tôi đang làm việc được đưa lên bởi một thanh tab ( UITabBar
), cần hoạt động như bình thường.
Chỉnh sửa: Tôi đang thêm thanh cuộn chỉ khi bàn phím xuất hiện. Mặc dù không cần thiết, tôi cảm thấy như nó cung cấp một giao diện tốt hơn bởi vì sau đó người dùng có thể cuộn và thay đổi hộp văn bản chẳng hạn.
Tôi đã làm cho nó hoạt động khi tôi thay đổi kích thước khung hình UIScrollView
khi bàn phím lên xuống. Tôi chỉ đơn giản là sử dụng:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Keyboard becomes visible
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50); //resize
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
//keyboard will hide
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); //resize
}
Tuy nhiên, điều này không tự động "di chuyển lên" hoặc tập trung vào các trường văn bản thấp hơn trong vùng hiển thị, đó là điều tôi thực sự muốn.