Как удалить содержимое UITextField программным способом? - PullRequest
0 голосов
/ 03 июля 2011

Я пишу приложение для iPhone, которое имеет несколько полей UITextFields, которые требуют от пользователя ввода группы данных. Я хотел бы иметь простую функцию «удаления», которая позволяет пользователю отбрасывать любые данные, которые он вставил в несколько полей.

Я боролся с этой проблемой уже несколько дней. Я не могу найти способ добраться до отдельных текстовых полей и изменить текст. Мое приложение выдает ошибки, независимо от того, что я пытаюсь.

Ответы [ 2 ]

2 голосов
/ 03 июля 2011

Вы можете просто назначить теги каждому текстовому полю в последовательности, используя свойство тега в конструкторе интерфейса, а затем получить текстовое поле, подобное этому

UITextField *txtf = (UITextField*)[self.view viewWithTag:aTagValue];

txtf.text = @""; or nil;
0 голосов
/ 03 июля 2011

Есть несколько способов решения этой проблемы.

Вы можете написать код, чтобы стереть каждый из них по отдельности.Для этого вы создаете IBOutlet для каждого и назначаете пустую строку их text свойствам.Если у вас есть только пара полей, это самое простое.Если у вас есть больше, это не так хорошо.

Вы можете сделать их всех потомками общего контейнера и просматривать его подпредставления.Таким образом, вам нужно всего лишь подключить один IBOutlet.

. Вы можете просмотреть всю иерархию представлений и очистить все найденные текстовые поля.

Другой подход, который нене очень хорошо документировано Apple, это использовать IBOutletCollection.Таким образом, вы можете назначить все свои текстовые поля одному IBOutletCollection и зациклить его.Это, наверное, самый простой, самый простой способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...