По какой-то странной причине текст UITextView появляется обрезанным, когда установлен scrollofset.UITextView, setContentOffset и отсутствующая нижняя часть
Вот как это выглядит:
Это происходит после того, как делает:
textview.contentInset = UIEdgeInsetsZero;
[textview setContentOffset:CGPointMake(0, startypos + offset_yshift) animated:NO];
Я попытался ручной настройки contentSize.height, но ввел еще одно странное поведение, где содержание смещения, кажется, проигнорировано ..
'' Edit '': Это код, который используется для создания экземпляра текстового поля:
CGRect myImageRect = CGRectMake(-50.0f, -50.0f, 40.0f, 40.0f);
textview = [[UITextView alloc] initWithFrame: myImageRect];
textview.autocapitalizationType = UITextAutocapitalizationTypeNone;
[textview setScrollEnabled:YES];
textview.hidden = YES;
textview.contentInset = UIEdgeInsetsZero;
textview.opaque = NO;
textview.backgroundColor = [UIColor clearColor];
textview.textColor = [UIColor colorWithWhite:1 alpha:1];
textview.textAlignment = NSTextAlignmentCenter;
textview.frame = CGRectMake(0, 0, 250, 30);
textview.scrollEnabled = NO;
И «обновление» код, который проверяет позиционирующее содержание каждый кадр:
// setting the actual size here
UITextPosition * pos = [textview positionFromPosition: textview.endOfDocument offset:nil];
CGRect therect = [textview caretRectForPosition:pos];
CGRect frame = textview.frame;
if([textview.text length] == 0){
frame.size.height = 30;
} else {
frame.size.height = therect.origin.y + therect.size.height;
}
// and here, we're changing the frame variable's height to max to 50
if(frame.size.height > 50){
frame.size.height = 50;
}
frame.size.width = desiredwidth; // some other variable
textview.frame = frame;
/*
... snip, unrelated code ...
*/
// later on
textview.contentInset = UIEdgeInsetsZero;
[textview setContentOffset:CGPointMake(0, startypos + offset_yshift) animated:NO];
Как вы можете себе представить, setContentOffset бита есть то, что вызывает проблему.
Что происходит?
Вы попробовали «хак», описанный здесь? http://stackoverflow.com/a/19137163/1153630 –