iOS 7 UITextView wyrównanie pionowe
Jak to możliwe, że moje edytowalneUITextView
(umieszczone wewnątrz prostego kontrolera UIViewController wewnątrz aUISplitView
który działa jako delegat dlaUITextView
) nie wyświetla tekstu od początku, ale po czymś w rodzaju 6-7 linii?
Nie ustawiłem żadnego konkretnego automatycznego podawania lub czegoś podobnego, próba usunięcia tekstu nie pomaga (więc nie ma ukrytych znaków lub czegoś).
Używam iOS 7 na iPadzie, w serii ujęć wygląda dobrze ... Problem jest taki sam na symulatorze iOS i prawdziwych urządzeniach. Robię się wściekły: P
Oto kod. To jest ViewControllerviewDidLoad()
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.itemTextField.delegate = self;
self.itemTextField.text = NSLocalizedString(@"NEWITEMPLACEHOLDER", nil);
self.itemTextField.textColor = [UIColor lightGrayColor]; //optional
}
I tutaj są nadpisane funkcje dlaUITextView
Korzystam z kodu, który znalazłem na StackOverflow, aby zasymulować symbol zastępczy dla widoku (te same rzeczy w wersji storyboardu iPhone'a działają dobrze) ...
// UITextView placeholder
- (void)textViewDidBeginEditing:(UITextView *)textView
{
if ([textView.text isEqualToString:NSLocalizedString(@"NEWITEMPLACEHOLDER", nil)]) {
textView.text = @"";
textView.textColor = [UIColor blackColor]; //optional
}
[textView becomeFirstResponder];
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
if ([textView.text isEqualToString:@""]) {
textView.text = NSLocalizedString(@"NEWITEMPLACEHOLDER", nil);
textView.textColor = [UIColor lightGrayColor]; //optional
}
[textView resignFirstResponder];
}
-(void)textViewDidChange:(UITextView *)textView
{
int len = textView.text.length;
charCount.text = [NSString stringWithFormat:@"%@: %i", NSLocalizedString(@"CHARCOUNT", nil),len];
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
return YES;
}