Как возможно, что мой редактируемый UITextView
(помещенный внутри простого UIViewController внутри UISplitView
, который действует как делегат для UITextView
), не показывает текст с самого начала, а после чего-то вроде 6-7 строк?
Я не установил какой-либо определенный автоспуск или что-то подобное, попытка удалить текст не поможет (так что никаких скрытых символов или чего-то еще).
Я использую iOS 7 на iPad, в раскадровке выглядит хорошо... Проблема на симуляторе iOS и реальных устройствах одинакова. Я злюсь: P
Вот какой код. Это ViewController viewDidLoad()
- (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
}
И вот переопределенные функции для UITextView
Я использую какой-то код, который я нашел в StackOverflow, чтобы имитировать местозаполнитель для представления (тот же материал на iPhone версии раскадровки отлично работает)...
// 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;
}