Ранее сегодня я пытался заставить некоторый текст в своем приложении автоматически прокрутить текст песни, которая воспроизводится в данный момент, и я получил ответ, чтобы использовать метод animateWithDuration для правильной работы прокрутки.Это работало фантастически, пока я не заметил, что когда я использую следующий код, что-то покрывает 80% textView в том же цвете, что и фон textView.Когда я провожу пальцем по покрытой области (как в симуляторе, так и на моих тестовых устройствах), поле (или что бы то ни было) исчезает, и весь текст отображается как обычно.Я знаю, что это вызов метода animateWithDuration, потому что я закомментировал его, и текст не покрывается при сборке и запуске с ним, не включенным в проект.Также я вошел в Интерфейсный Разработчик и изменил цвет textView на белый (он был черным вместе с фоном всего остального в представлении), чтобы увидеть, имеет ли то, что покрывало, черный фон.Когда я изменил его на белый, текст все еще был покрыт белым цветом.Опять же, это только первый раз, когда я показываю textView и добавляю в него текст песни.После того, как я проведу по закрытой области, любая песня, которую я играю, не помешает.Просто в первый раз, пока он не ударил.Вот код, который я использую ...
// set the textView to start at the top of the document
[textView setContentOffset:CGPointZero];
CGPoint scrollPoint = textView.contentOffset;
// set the scroll point to the length of the text view, so it knows how far down to go
scrollPoint.y= [textView.text length];
Ниже показано, что делает текст покрытым
`// animate down to that point at the rate of the length of the song minus 20 seconds (so the lyrics can catch up to the song)
[UIView animateWithDuration:(self.myMusicPlayer.duration - 20)
delay:0
options:UIViewAnimationOptionAllowUserInteraction
animations:^(void) {self.textView.contentOffset = scrollPoint;}
completion:nil];`
А вот фотография до и после считыванияплощадь в штучной упаковке.
![enter image description here](https://i.stack.imgur.com/tSEJC.png)
Кто-нибудь имеет какое-либо представление о том, что покрывает текст или что я могу сделать, чтобы избавиться от него?Или другой способ, которым я мог бы автоматически прокручивать текст песни, используя другой метод, кроме animateWithDuration?
Вот код, который я использую для заполнения textView текстами песен.
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath { // determine which row was clicked
NSUInteger row = [indexPath row];
// get the song name from the array at the position clicked
NSString *rowString = [songNames objectAtIndex:row];
// load the lyrics for the song played into the textView
// load the text file for the song selected
NSString *lyrics = [[NSBundle mainBundle] pathForResource:rowString ofType:@"txt"];
NSString *fileContents = [NSString stringWithContentsOfFile:lyrics];
// set the textView to load the lyric sheet for the song selected
self.textView.text = fileContents; // more after this, but this is all that I'm doing with the textView
РЕДАКТИРОВАТЬ: Ну, я решил проблему черного ящика, покрывающего текст, хотя я не понимаю этого.В то время как я форматировал текстовый файл, чтобы он лучше сочетался со словами, моя каретка возвращается, а также разрывы строк приводят к тому, что текст покрывается.Я удалил содержимое текстового файла и заново вставил оригинал, в результате чего текст не был скрыт.Итак, теперь я думаю, что моя задача - выяснить, как отформатировать текст в текстовом файле, не скрывая текст.Есть предложения?