{"action":"opened","issue":{"url":"https://api.github.com/repos/lionheart/openradar-mirror/issues/2463","labels_url":"https://api.github.com/repos/lionheart/openradar-mirror/issues/2463/labels{/name}","comments_url":"https://api.github.com/repos/lionheart/openradar-mirror/issues/2463/comments","events_url":"https://api.github.com/repos/lionheart/openradar-mirror/issues/2463/events","html_url":"https://github.com/lionheart/openradar-mirror/issues/2463","id":99246437,"number":2463,"title":"19263531: UITextField's implementation of UITextInput protocol","user":{"login":"openradar-mirror","id":13605213,"avatar_url":"https://avatars.githubusercontent.com/u/13605213?v=3","gravatar_id":"","url":"https://api.github.com/users/openradar-mirror","html_url":"https://github.com/openradar-mirror","followers_url":"https://api.github.com/users/openradar-mirror/followers","following_url":"https://api.github.com/users/openradar-mirror/following{/other_user}","gists_url":"https://api.github.com/users/openradar-mirror/gists{/gist_id}","starred_url":"https://api.github.com/users/openradar-mirror/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openradar-mirror/subscriptions","organizations_url":"https://api.github.com/users/openradar-mirror/orgs","repos_url":"https://api.github.com/users/openradar-mirror/repos","events_url":"https://api.github.com/users/openradar-mirror/events{/privacy}","received_events_url":"https://api.github.com/users/openradar-mirror/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/lionheart/openradar-mirror/labels/classification:other%20bug","name":"classification:other bug","color":"e11d21"},{"url":"https://api.github.com/repos/lionheart/openradar-mirror/labels/reproducible:always","name":"reproducible:always","color":"5319e7"},{"url":"https://api.github.com/repos/lionheart/openradar-mirror/labels/status:open","name":"status:open","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/lionheart/openradar-mirror/milestones/2","html_url":"https://github.com/lionheart/openradar-mirror/milestones/iOS","labels_url":"https://api.github.com/repos/lionheart/openradar-mirror/milestones/2/labels","id":1237416,"number":2,"title":"iOS","description":null,"creator":{"login":"openradar-mirror","id":13605213,"avatar_url":"https://avatars.githubusercontent.com/u/13605213?v=3","gravatar_id":"","url":"https://api.github.com/users/openradar-mirror","html_url":"https://github.com/openradar-mirror","followers_url":"https://api.github.com/users/openradar-mirror/followers","following_url":"https://api.github.com/users/openradar-mirror/following{/other_user}","gists_url":"https://api.github.com/users/openradar-mirror/gists{/gist_id}","starred_url":"https://api.github.com/users/openradar-mirror/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openradar-mirror/subscriptions","organizations_url":"https://api.github.com/users/openradar-mirror/orgs","repos_url":"https://api.github.com/users/openradar-mirror/repos","events_url":"https://api.github.com/users/openradar-mirror/events{/privacy}","received_events_url":"https://api.github.com/users/openradar-mirror/received_events","type":"User","site_admin":false},"open_issues":454,"closed_issues":0,"state":"open","created_at":"2015-08-03T02:08:30Z","updated_at":"2015-08-05T16:36:51Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-08-05T16:36:50Z","updated_at":"2015-08-05T16:36:51Z","closed_at":null,"body":"#### Description\n\nSummary:\r\nUITextField's header states that it is implementing the UITextInput protocol. However this is only partially true.\r\n\r\nOur tests show that -deleteBackward and -replaceRange:withText: are not called on subclasses of UITextField. Only -insertText from UIKeyInput is being called.\r\n\r\nThis is an inconsistency that confuses developers requiring subclassing of UITextField.\r\n\r\nSteps to Reproduce:\r\n- Subclass UITextField\r\n- override -deleteBackward\r\n- set a breakpoint there\r\n- use this subclass in an app\r\n\r\nExpected Results:\r\n- When the user hits the backspace key the -deleteBackward method should be called.\r\n- When the user inserts or replaces ranges of text, the -replaceRange:withText: method should be called\r\n\r\nActual Results:\r\n- -deleteBackward is not called\r\n- -replaceRange:withText is not called\n\n-\nProduct Version: 8.1.2 (12B440)\nCreated: 2014-12-16T12:43:32.403453\nOriginated: 2014-12-15T00:00:00\nOpen Radar Link: http://www.openradar.me/19263531"}}