Редактировать Повторная публикация ... Я случайно пометил свой предыдущий вопрос как "вики-сообщество" и не понял, что ответы на сообщения вики не создают репутацию.
Я добавляю UITextView в UIAlertView со следующим кодом:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Enter Name Here" message:@"this gets covered!" delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:@"OK!", nil];
UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12, 45, 260, 25)];
CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0, 60);
[alert setTransform:myTransform];
[myTextField setBackgroundColor:[UIColor whiteColor]];
[alert addSubview:myTextField];
[alert show];
[alert release];
[myTextField release];
Если я помещу этот код в стандартный метод действия:
- (IBAction)testAlertView:(id)sender {
...the above code...
}
Тогда в первый раз, когда я покажу UIAlertView, всплывающее меню вырезать / скопировать / вставить будет отображено в UITextField, который был добавлен в UIAlertView. (Например, если я коснусь и удержу, после того, как я отпущу, всплывет «Вставить».
Проблема заключается в том, что после правильной работы в первый раз ни одна из кнопок вырезать / копировать / вставить не появится снова в следующий раз, когда я покажу UIAlertView (новый экземпляр), если я не перезапущу приложение. Кто-нибудь знает почему или как решить эту проблему?
Информация о бонусе
Я только что узнал, что могу заставить вещи работать всегда, если создаю оповещение show show в обратном вызове UIActionSheet. Например, это всегда работает (вырезать / скопировать / вставить всегда отображается, когда это необходимо в UITextField)
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
...the above code...
}
Обновленная информация о бонусе
Оказывается, это работает при первом отображении всплывающего окна вырезать / копировать / вставить ... а не только при первом отображении UIAlertView Так, например, я могу показать и закрыть просмотр предупреждений несколько раз. И вырезать / копировать / вставить все равно будет работать при первом показе. Но после этого он больше не будет работать.
Кроме того ... если я добавлю UITextField (не в представлении предупреждений) и покажу там вырезать / скопировать / вставить, то он никогда не будет отображаться (даже в первый раз) в UITextField, который находится в представлении предупреждений. Таким образом, в конце концов проблема заключается в том, что вырезание / копирование / вставка отображается только в UITextField в UIAlertView, если он впервые показывает всплывающее окно редактирования в любом UITextField.
Есть идеи, что может произойти во втором случае, который заставляет вещи работать? Я не хочу использовать UIActionSheet в своем приложении, поэтому я хотел бы найти способ заставить его работать простым старым методом действия.
Спасибо,
Джесси