Tôi có chế độ xem trong XIB nơi tôi đã sử dụng một số trường văn bản trong đó. Giả sử trường văn bản đầu tiên trở thành trả lời đầu tiên ngay khi khung nhìn được tải trong cửa sổ. Nếu tôi nhấn phím tab trong bàn phím của máy để điều hướng đến trường văn bản tiếp theo, ngoài trường văn bản ngay lập tức, tất cả các trường văn bản khác cũng sẽ trở thành trả lời đầu tiên và trường văn bản bắt đầu chỉnh sửa phương thức ủy nhiệm được gọi cho tất cả các trường văn bản. Điều gì có thể là vấn đề ? Điều này sẽ xảy ra không chỉ trong trình mô phỏng khi chúng tôi sử dụng bàn phím của máy cũng khi chúng tôi sử dụng bàn phím bluetooth cho thiết bị iOS.TextField trở thànhPhát hành FirstResponder cho hành động bàn phím (Bàn phím)
10
A
Trả lời
2
Cách nhấn phím tab => điều hướng đến trường văn bản tiếp theo liên quan đến chế độ thừa kế của trường văn bản trong chế độ xem.
Khi bạn nhấn tab - textfieldshouldbeginediting sẽ được gọi nhiều lần khi bạn textfields - nghĩa là - 5 textfields => một phím nhấn phím, tất cả 5 trường hợp sẽ được gọi. Khi bạn nhấn tab - textfielddidbeginediting sẽ chỉ được gọi một lần đối với trường hợp của trường text mới - Do đó bất kỳ logic nào cho textfield đều tốt hơn trong phương thức ủy nhiệm textfielddidbeginediting.
Đây là những đặc điểm mặc định của phương thức đại biểu và không phải là vấn đề.
Tôi vừa gặp phải vấn đề tương tự. textFieldShouldBeginChỉnh sửa phương thức ủy nhiệm có thể được sử dụng để ngăn chặn việc chỉnh sửa, nhưng sau đó câu hỏi là làm thế nào để tìm thấy nếu textFieldShouldBeginEditing được gọi là do phím tab hoặc tap textField. – Vladimir
Tôi cũng đã chạy vào cùng một vấn đề ... Nghiêm túc tại sao táo không regsiter phím bấm phím bên trong textfield: shouldChangeCharactersInRange: replaceString: – HurkNburkS