Хорошо, так что тема говорит сама за себя - мне нужно изменить полосу прокрутки по умолчанию с моим собственным изображением. Я искал решение, которое не требует от вас написания собственного класса ScrollView или использования хаков, таких как создание UIView с изображением полосы прокрутки и изменение его положения при прокрутке.
Одним из решений, которое мне понравилось, было использование простой категории UIScrollView и доступ к полосам прокрутки в качестве подпредставлений UIScrollView: http://leonov.co/2011/04/uiscrollviews-scrollbars-customization/#comment-7909 По какой-то причине, однако, это не работает для меня. Когда я создаю UIScrollView и получаю его массив subviews, там отображаются только те представления, которые я вручную добавляю в scrollview. Я не могу получить доступ к полосам прокрутки, перебирая массив subviews. Например, этот код:
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10,10,100,100)];
scrollView.userInteractionEnabled = YES;
scrollView.bounces = NO;
scrollView.showsHorizontalScrollIndicator = YES;
NSLog(@"Subviews count is %d", [[scrollView subviews] count]);
войдет в журнал "Количество просмотров составляет 0". Или, если я добавлю X элементов в scrollview, «Количество просмотров - X». Есть идеи?