Có cách nào để ngăn người dùng di chuyển con trỏ trong UITextField không? Tôi muốn nó ở cuối chuỗi.Vô hiệu hóa kính lúp trong UITextField
Trả lời
Không có cách nào để ngăn chúng di chuyển con trỏ. Bạn có thể, tuy nhiên, ngăn cản họ chỉnh sửa các văn bản ngoại trừ ở cuối bằng cách thực hiện phương pháp
– textField:shouldChangeCharactersInRange:replacementString:
trong đoàn trường văn bản của bạn.
Chỉnh sửa: bạn cũng có thể đặt userInteractionEnabled
thành NO
để người dùng không thể nhấn vào trường. Gọi becomeFirstResponder
theo cách thủ công để trường lấy nét từ khi người dùng không thể nhấn để lấy nét.
Tôi không biết rằng có một cách tích hợp để làm điều đó ... có lẽ bạn có thể phân lớp UITextField và xử lý các sự kiện liên lạc chính mình?
Tôi chưa kiểm tra xem bạn có thể tắt kính lúp hay không, nhưng cách được khuyến nghị để tắt chức năng chỉnh sửa có chọn lọc trong UIResponder (và do đó UITextField) là triển khai canPerformAction:withSender
của UIResponder
.
Xem UIResponder documentation.
Có thể nếu bạn trả lại "KHÔNG" cho lựa chọn và chọnTất cả hành động, bạn có thể tắt nó.
Cách khác, tàn bạo hơn là chặn bất kỳ sự kiện chạm nào và đặt lại con trỏ về cuối.
Tôi khuyên bạn nên kiểm tra thuộc tính gestureRecognizers.
Bạn sẽ tìm thấy nhiều người trong số họ trong mảng và có thể muốn xóa tất cả hoặc để tìm những người kích hoạt sự kiện bạn muốn chặn và xóa/thay thế sự kiện đó.
tôi đã sử dụng nó để loại bỏ copy/paste và chức năng kính lúp từ một UITextField
Xcode cho tôi biết rằng UITextField có "không có bộ sưu tập ổ cắm" cho trình nhận dạng cử chỉ. – radven
Đây là một câu hỏi cũ, nhưng tôi đang tìm kiếm một câu trả lời cho câu hỏi giống nhau, và tìm ra giải pháp.
Thực sự khá đơn giản để ngăn người dùng di chuyển con trỏ. Chỉ cần phân lớp UITextField và cung cấp việc thực hiện sau đây caretRectForPosition:
- (CGRect)caretRectForPosition:(UITextPosition *)position
{
return [super caretRectForPosition:self.endOfDocument];
}
Tôi chỉ muốn thêm rằng trong khi điều này thực sự ngăn chặn các dấu sót di chuyển, nó tuy nhiên không vô hiệu hóa kính lúp (ít nhất là không có trong iOS 7). Tiêu đề và câu hỏi đều yêu cầu những thứ khác nhau. – iMaddin
NO DIỆN THỊ THỰC cần.
Bạn có thể sử dụng UITextFieldDelegate
. Nó sẽ làm cho kính lúp vô hiệu hóa & lựa chọn văn bản.
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
textField.userInteractionEnabled = NO;
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
textField.userInteractionEnabled = YES;
}
NB: Đây chỉ là bỏ qua.
- 1. Vô hiệu hóa Kính lúp trong UITextview
- 2. Hiệu ứng kính lúp android
- 3. Cách tắt kính lúp trong UIWebview?
- 4. Android: Cách tắt kính lúp chọn lọc trong ICS?
- 5. Ngăn việc chỉnh sửa văn bản trong UITextField và ẩn con trỏ/kính/kính lúp khi sử dụng inputView
- 6. Hiệu ứng kính lúp cho lực lượng D3/GraphGL hướng trực quan hóa mạng?
- 7. Cách dễ dàng để vô hiệu hóa UITextField?
- 8. iOS 6 kính lúp nhấp vào công việc xung quanh
- 9. UITextView với cỡ chữ lớn và kính lúp
- 10. Ký tự kính lúp của chỉ số UITableView là gì?
- 11. Vô hiệu hóa UISearchBar
- 12. Làm thế nào để vô hiệu hóa và ẩn một UITextField
- 13. Whats sự khác biệt giữa prop ('vô hiệu hóa', 'vô hiệu hóa') và chống đỡ ('vô hiệu hóa', đúng)
- 14. Vô hiệu hóa chạm nhưng không phải tất cả tương tác của người dùng trên UITextField
- 15. VS2010 Vô hiệu hóa phác thảo trong xaml, (hoặc vô hiệu hóa phác thảo hoàn toàn)
- 16. Vô hiệu hóa plugin Grails
- 17. Vô hiệu hóa backspace trong wpf
- 18. Vô hiệu hóa backreferences trong perl
- 19. Vô hiệu hóa thẻ neo trong knockout.js
- 20. Vô hiệu hóa các hàng trong ListPreference
- 21. Vô hiệu hóa hộp kiểm trong mvc3
- 22. Vô hiệu hóa một nút trong iOS
- 23. Vô hiệu hóa khách hàng trong Magento
- 24. Vô hiệu hóa jQuery Masonry
- 25. Tạo hiệu ứng mờ trên nút bị vô hiệu hóa
- 26. WCF - Vô hiệu hóa bảo mật trong nettcpbinding (C#)
- 27. làm cách nào bạn đặt kính lúp và "tìm kiếm" trong hộp tìm kiếm trong stackoverflow?
- 28. Tạo một loại giá trị không thể vô hiệu hóa có thể vô hiệu hóa
- 29. Phím shift trên bàn phím iPhone bị vô hiệu hóa
- 30. WPF Làm thế nào để vô hiệu hóa DropShadowEffect
Đó là những gì tôi có bây giờ nhưng nó kinda wonky cho người dùng khi họ di chuyển con trỏ và sau đó gõ một phím và các ký tự nối thêm vào cuối chuỗi. Không lý tưởng ... nhưng không gây tử vong. Tìm kiếm một cách dễ dàng để vô hiệu hóa các chạm trên UITextField. Có thể đi tuyến đường con nếu đó là lựa chọn duy nhất của tôi. – Meltemi
Tôi có thể hỏi bạn đang cố gắng làm gì không? Tại sao không cho phép đặt con trỏ? Nhưng vâng, có vẻ như chỉ thiết lập userInteractionEnabled = NO sẽ là giải pháp tốt nhất. –