Отключение кнопки UIB при изменении вида прокрутки - PullRequest
0 голосов
/ 16 февраля 2011

Привет. Я пытаюсь реализовать приложение, похожее на Photos.app, в котором на панели инструментов ниже могут быть кнопки page change для прокрутки.Итак, я поместил одну кнопку для прокрутки на первую страницу и одну кнопку для последней страницы.И две кнопки для прокрутки следующей и предыдущей страниц.

[[self.toolbarItems lastObject] setEnabled:NO];

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

Существует ли лучший способ изменения статуса кнопки на основена номер страницы?(вместо подсчета страниц и изменения статуса кнопки.)

1 Ответ

0 голосов
/ 16 февраля 2011

Не совсем уверен, что я понимаю вопрос, но, вероятно, вы должны знать, на какой фотографии вы находитесь.Сделайте это свойство NSNumber, затем используйте пользовательский установщик, чтобы узнать, когда меняется номер фотографии, и настройте кнопки:

- (void) checkToolBar: (NSNumber *) pageNumber {
    int page = [pageNumber intValue];
    [[self.toolbarItems objectAtIndex:0] setEnabled: (page !=0)];
    [[self.toolbarItems objectAtIndex:1] setEnabled: (page !=0)];
    [[self.toolbarItems objectAtIndex:2] setEnabled: (page != [photos count]];
    [[self.toolbarItems objectAtIndex:3] setEnabled: (page != [photos count]];
 }


- (void)setNumPage:(NSNumber *)newPage {
  if (numPage != newPage) {
    [numPage release];
    numPage = [newPage retain];
    [self checkToolBar:numPage];
  }
}
...