Jak utworzyć wielowierszowy tekst edytowalny UITextview
wewnątrz UIAlertController
? UITextfield
obsługuje pojedynczą linię i musimy utworzyć wielowierszowe pole edycji tekstu w wyskakującym okienku.Edytowalny tekst wielowierszowy UITextview wewnątrz kontrolera UIAlertController?
Odpowiedz
To dobra appraoch ...
func popUpController()
{
let alertController = UIAlertController(title: "\n\n\n\n\n\n", message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)
let margin:CGFloat = 8.0
let rect = CGRectMake(margin, margin, alertController.view.bounds.size.width - margin * 4.0, 100.0)
let customView = UITextView(frame: rect)
customView.backgroundColor = UIColor.clearColor()
customView.font = UIFont(name: "Helvetica", size: 15)
// customView.backgroundColor = UIColor.greenColor()
alertController.view.addSubview(customView)
let somethingAction = UIAlertAction(title: "Something", style: UIAlertActionStyle.Default, handler: {(alert: UIAlertAction!) in print("something")
print(customView.text)
})
let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: {(alert: UIAlertAction!) in print("cancel")})
alertController.addAction(somethingAction)
alertController.addAction(cancelAction)
self.presentViewController(alertController, animated: true, completion:{})
}
Nie można utworzyć wielowierszowego tekstu Wyświetl w UIAlertController
. Musisz stworzyć do tego swój własny UIAlertController
.
Dzięki To jest dobre podejście, aby moje własne niestandardowe, w końcu muszę zrobić to jak poniżej na moją odpowiedź. Dziękuję bardzo, daj mi dobry link. – Vishal
zrobiłem kilka poprawek do podejścia Vishal użytkownika.
- Dodano metodę UITextViewDelegate, aby wyświetlić początkowo jasnoszary tekst jako symbol zastępczy i usunąć go na tekstViewDidBeginEditing.
Ustawia szerokość ramki tekstowej, kolor obramowania i kolor tła, aby był widoczny.
class ViewController: UIViewController, UITextViewDelegate { ... @IBAction func showAlert(sender: AnyObject) { let alertController = UIAlertController(title: "Hello, I'm alert! \n\n\n\n\n\n\n", message: "", preferredStyle: .Alert) let rect = CGRectMake(15, 50, 240, 150.0) let textView = UITextView(frame: rect) textView.font = UIFont(name: "Helvetica", size: 15) textView.textColor = UIColor.lightGrayColor() textView.backgroundColor = UIColor.whiteColor() textView.layer.borderColor = UIColor.lightGrayColor().CGColor textView.layer.borderWidth = 1.0 textView.text = "Enter message here" textView.delegate = self alertController.view.addSubview(textView) let cancel = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil) let action = UIAlertAction(title: "Ok", style: .Default, handler: { action in let msg = (textView.textColor == UIColor.lightGrayColor()) ? "" : textView.text print(msg) }) alertController.addAction(cancel) alertController.addAction(action) self.presentViewController(alertController, animated: true, completion: {}) } func textViewDidBeginEditing(textView: UITextView) { if textView.textColor == UIColor.lightGrayColor(){ textView.text = "" textView.textColor = UIColor.darkGrayColor() } } }
Dziękuję bardzo. Dokładnie tak, jak chciałem. Ale nie podnosi się, gdy rozpoczyna się edycja. Czy masz na to rozwiązanie? –
- 1. Tekst do kliknięcia iOS wewnątrz UITextView
- 2. Edytowalny tekst w Raphaël
- 3. UIAlertController uzyskać tekst
- 4. Edytowalny tekst na ciąg znaków
- 5. oddalenie UIAlertController przedstawiony przez kontrolera widoku modalne
- 6. Dopasuj tekst wielowierszowy za pomocą wyrażeń regularnych
- 7. C#: tekst wielowierszowy w formancie DataGridView
- 8. itext tekst wielowierszowy w ramce ograniczającej
- 9. Jak rejestrować tekst wielowierszowy w Logback/SLF4J?
- 10. UITextView Paging Enabled Tekst obcięty
- 11. Przechwytuj WYBRANY tekst na UITextView
- 12. Jak utworzyć wielowierszowy UITextfield?
- 13. Tekst w UITextView Auto-Scrolled to Bottom
- 14. Zachowanie kontrolera wewnątrz dyrektyw
- 15. Prosta metoda delegowania aplikacji do wyświetlania kontrolera UIAlertController (w Swift)
- 16. Utwórz element span "edytowalny"
- 17. Jak utworzyć tekst układu UITextView tak, jak tekst UILabel?
- 18. Czy mogę programowo zaznaczać tekst w UITextView?
- 19. Tekst przewija poza granicę pola UITextView.
- 20. Przypisany tekst UITextView jest pusty po ustawieniu
- 21. Nie mogę implikować UITextview wewnątrz UIPageViewController
- 22. Jak napisać tekst wielowierszowy w wiadomościach jako prosty?
- 23. Programowanie Androida: jak narysować tekst wielowierszowy w prostokącie?
- 24. Jak utworzyć wielowierszowy tekst z podpowiedziami w GWT
- 25. Tekst wielowierszowy jako etykieta przycisku w Windows Forms
- 26. pokaż UIAlertController poza ViewController
- 27. w iOS UIAlertController możemy lewo wyrównać tekst UIAlertAction
- 28. Wyróżnij tekst wewnątrz textarea
- 29. SVG: tekst wewnątrz rect
- 30. Tekst wewnątrz przycisku radiowego
Zrobiłem trochę badań na ten temat. Wygląda na to, że wewnętrzna implementacja UIAlertController uległa zmianie (pracuję nad IOS9) i to nie zadziała. Po prostu dla FYI. –