UITextview не показывает scrollindicator - PullRequest
0 голосов
/ 10 марта 2012
self.textView = [[[UITextView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)]autorelease];

self.textView.textColor = [UIColor whiteColor];

self.textView.font = [UIFont fontWithName:@"Georgia-BoldItalic" size:14];

self.textView.backgroundColor = [UIColor colorWithHue:2.0/12 saturation:2.0 brightness:4.0/10 alpha:1.0];

[self.textView flashScrollIndicators];

self.textView.showsHorizontalScrollIndicator = YES;

self.textView.scrollEnabled = YES;

self.textView.layer.borderWidth = 1;

self.textView.layer.borderColor = [[UIColor whiteColor] CGColor];

self.textView.layer.cornerRadius = 1;

self.textView.textAlignment =  UITextAlignmentCenter;

Чего мне не хватает, чтобы отобразить полосу прокрутки для UITextView или сделать просмотр текста прокручиваемым.

Оцените помощь.

Ответы [ 2 ]

0 голосов
/ 10 марта 2012

Вид текста под клавиатурой.Он не будет прокручиваться, пока вы не введете достаточно текста, чтобы заполнить все строки, которые вы не видите, и даже тогда вы не сможете прокрутить все это в поле зрения.Чтобы сделать это правильно, вам необходимо прослушать уведомления об изменении размера клавиатуры и настроить размер текстового представления в соответствии с видимым пространством.После создания текстового представления подпишитесь на уведомления об изменении размера клавиатуры:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

, затем реализуйте эти методы:

- (void)keyboardDidShow:(NSNotification*)notification
{
    NSValue* val = [[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect keyboardRect = [[self.view window] convertRect:[val CGRectValue] toView:self.textView];

    CGRect rect = self.textView.frame;
    rect.size.height = CGRectGetMinY(keyboardRect);
    self.textView.frame = rect;
}

- (void)keyboardWillHide:(NSNotification *)notification
{
    self.textView.frame = CGRectMake(0, 0, 320, 416);
}

Наконец, если объект, подписавшийся на уведомления (контроллер представленияЯ предполагаю, что) будет исчезать в любой момент жизни вашего приложения, вам также нужно отменить подписку, прежде чем оно будет аннулировано.(И даже если это не так, сделайте это в любом случае, потому что это хорошая практика.)

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];

    // ...

    [super dealloc];
}
0 голосов
/ 10 марта 2012

self.textView.showsVerticalScrollIndicator = YES;

Это то, что вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...