2011-08-24 28 views
5

Theo mặc định, nếu trường văn bản là con của một chế độ xem cuộn và được chạm vào khi nó nằm ngoài khung của khung nhìn cuộn cha, cuộn cuộn sẽ cuộn lên một chút. Ví dụ: giả sử chúng ta có chế độ xem cuộn với chiều cao khung là 200, nhưng chiều cao contentSize là 260 và chúng tôi đặt trường văn bản ở vị trí 220. Bây giờ, tôi cuộn lên và định vị trường văn bản một nửa bên trong khung cuộn và để nửa còn lại bị cắt. Nếu tôi chạm vào trường văn bản này, tôi nhận thấy rằng scrollview tự động cuộn lên một vài pixel trước khi bàn phím xuất hiện. Điều này là có vấn đề bởi vì tôi đã có mã cuộn của riêng mình, vì vậy khi điều này xảy ra, nó sẽ kết thúc bằng cách cuộn hai lần theo ý muốn của tôi. Có cách nào để xóa hành vi mặc định này không?Làm thế nào để dừng một UIScrollView khỏi tự động cuộn khi một UITextField được chạm vào khung của scrollview?

Trả lời

1

Có vẻ như scrollview của bạn đang được di chuyển để đáp ứng với bàn phím hiển thị thay vì trường văn bản được khai thác. Hãy xem Apple's Managing the Keyboard documentation; nó có một phần hữu ích trên scrollviews.

0

Một câu hỏi tương tự đã được đã được trả lời ở đây: https://stackoverflow.com/a/5673026/550177

Bạn cũng có thể cố gắng để thiết lập lại contentOffset của scrollview khi textfield trở nên trả lời đầu tiên. Hiển thị trường văn bản ủy quyền như sau:

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [self.scrollView setContentOffset:_scrollView.contentOffset animated:NO]; 
} 

Mã này sẽ xóa hoạt ảnh tự động khi trường văn bản được chọn. Tôi đã thử nghiệm với iOS 6.1 trong trình mô phỏng.

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