Как я могу использовать нестандартный цвет для индикатора UIScrollView? - PullRequest
0 голосов
/ 07 октября 2010

Пользовательский интерфейс предоставляет 3 опции для UIScrollViewIndicatorStyle , но я хочу сделать индикатор UIScrollView красным, что не является одним из стандартных стилей.

Могу ли я сделать это? Если да, то как?

Ответы [ 2 ]

1 голос
/ 26 февраля 2015

ДА !!Вы можете

Оба индикатора UIScrollView являются вложенным видом UIScrollView.Таким образом, мы можем получить доступ к подпредставлению UIScrollView и изменить свойство подпредставления.

1. Добавить UIScrollViewDelegate

@interface ViewController : UIViewController<UIScrollViewDelegate>
@end

2.Добавьте scrollViewDidScroll в разделе реализации

-(void)scrollViewDidScroll:(UIScrollView *)scrollView1
{
    //get refrence of vertical indicator
    UIImageView *verticalIndicator = ((UIImageView *)[scrollView.subviews objectAtIndex:(scrollView.subviews.count-1)]);
    //set color to vertical indicator
    [verticalIndicator setBackgroundColor:[UIColor redColor]];


    //get refrence of horizontal indicator
    UIImageView *horizontalIndicator = ((UIImageView *)[scrollView.subviews objectAtIndex:(scrollView.subviews.count-2)]);
    //set color to horizontal indicator
    [horizontalIndicator setBackgroundColor:[UIColor blueColor]];
}

Примечание: - Поскольку эти индикаторы обновляются каждый раз при прокрутке (означает сброс к значению по умолчанию).Итак, мы поместили этот код в метод делегата scrollViewDidScroll.

enter image description here Демонстрация доступна на GitHub - https://github.com/ioshacks/UIScrollViewIndicatorColor

0 голосов
/ 07 октября 2010

Я уверен, что не тот ответ, который вам нужен, но вы можете поместить вид uiview (для индикатора прокрутки) поверх окна прокрутки, затем добавить делегата для прослушивания, когда прокручивается ваше представление прокрутки, а затем обновить позицию UIView

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