1

UIPageviewcontroller 的导航栏上有书签按钮。

在翻页时在uipageviewcontroller中为currentIndex添加书签之后,为什么选择的书签状态显示为所有页面,因为它应该只显示已添加书签的currentIndex而不是所有页面。对于所有页面,它应该显示未标记状态。

就像当我为当前索引书签按钮添加书签时,然后显示该 currentIndex 的蓝色书签状态,但是当我翻页时,它显示下一页的蓝色书签按钮,当下一页没有添加书签时。它应该为下一页显示未添加书签的状态,因为它没有添加书签。

这是我的代码:

- (IBAction)bookmarkAction:(id)sender {

if ( _bookmarkbtn.tag) {

    [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-N.png"] forState:UIControlStateNormal];
    _bookmarkbtn.tag = 0;
     [self setBookmarkState:NO];

} else {

    [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-Y.png"] forState:UIControlStateNormal];     
    _bookmarkbtn.tag = 1;
    [self setBookmarkState:YES];

}

_bookmarkbtn.tag = _BookmarkState;

[self bookmarkcurrentIndex];
}

- (void)bookmarkcurrentIndex {

currentIndex = [modelArray indexOfObject:contentViewController.page];

   // if ([contentViewController.bookmarks containsIndex:currentIndex]) {


    if (BookmarkState == YES) {

        [contentViewController.bookmarks addIndex:currentIndex];

    }else {   

      [contentViewController.bookmarks removeIndex:currentIndex];    
}

    BookmarkState = ! BookmarkState;
  }

我的代码中是否缺少该逻辑。

任何方向将不胜感激。

谢谢

4

0 回答 0