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;
}
我从我的代码中错过了那个逻辑。
任何方向都会非常感激。
由于