пользовательское изображение индикатора pagecontrol вместо Default - PullRequest
0 голосов
/ 06 января 2011

Как изменить цвет точек разбивки на страницы UIPageControl?

В этой ссылке приведен пример кода. Но он показывает 3 ошибки для меня ...

1-я ОШИБКА:

Строка: CGRect currentBounds = self.bounds;

Ошибка: необходимо запросить границы элемента в чем-то, что не является структурой или объединением

Метод :-( аннулируются) DrawRect:

2nd Err: та же ошибка с той же строкой в ​​методе touchesBegan.

3-я ошибка: @protocol PageControlDelegate

@ необязательно

  • (void) pageControlPageDidChange: (PageControl *) pageControl;

@ конец

Ошибка: ожидается ")" перед "PageControl". Эти три ошибки происходят для меня ... Пожалуйста, помогите мне решить эту проблему ..

Я хочу изменить цвет индикатора точки управления страницей (точка) ...

Спасибо и С уважением, Renuga

Ответы [ 2 ]

2 голосов
/ 06 января 2011

Первая ошибка, вероятно, связана с тем, что self не относится к представлению (возможно, к контроллеру представления)

Вторая ошибка связана с тем, что PageControl еще не определен ко времени прихода парсера к вам.определение протокола.

Типичный класс с делегатом

@protocol MyProtocol;

@interface myClassWithDelegate
{
  id<MyProtocol> _delagate;
}

@end

@protocol MyProtocol
  -(void)MyClass:(MyClassWithDelegate*)c says(NSString*)message;
@end
0 голосов
/ 15 февраля 2011

Я тот, кто написал пример кода, который вы используете.

Я вижу, что VdesmedT уже помог вам в ваших проблемах с синтаксисом. Так что +1 за это!

Что касается настройки точек: предоставленный класс не поддерживает настраиваемые изображения для точек. Он просто рисует круги, используя Core Graphics. Цвет кружков настраивается с использованием свойств dotColorCurrentPage и dotColorOtherPage.

Цветами по умолчанию являются серые точки с черной точкой для текущей страницы (потому что это то, что мне было нужно, когда я писал ее).

Допустим, вам нужна красная точка вместо черной точки для текущей страницы и зеленые точки для других страниц. Когда вы создаете свой экземпляр PageControl, вы просто назначаете свойства следующим образом:

pageControl.dotColorCurrentPage = [UIColor redColor];
pageControl.dotColorOtherPage = [UIColor greenColor];

... при условии, что ваша переменная экземпляра называется pageControl. Или используйте любой другой метод удобства / инициализации для создания UIColor, который вам нравится.

Надеюсь, это поможет.

...