我的应用程序是基于页面的,我想在一个事件上以编程方式滑动到左页。我尝试使用beakurentPage方法,但在这种情况下如何使用它。请帮忙。任何建议将不胜感激。谢谢
becomeCurrentPage
是编程方式更改当前页面的唯一方法,因此您在正确的轨道上。但是,听起来您需要从一个页面到另一页。
假设您的接口控制器知道其自己的页面索引(您可以将其传递给awakeWithContext:
),您可以通过发送自定义通知来完成此操作:
NSDictionary *userInfo = @{ @"page" : @(MAX(self.pageIndex - 1, 0)) };
[[NSNotificationCenter defaultCenter] postNotificationName:@"MyChangePageNotification"
object:nil
userInfo:userInfo];
然后,在每个控制器中,请确保您正在收听通知:
[[NSNotificationCenter defaultCenter]
addObserverForName:@"MyChangePageNotification"
object:nil
queue:nil
usingBlock:^(NSNotification *note) {
// Are we supposed to become the current page?
if (self.pageIndex == [note.userInfo[@"page"] integerValue]) {
[self becomeCurrentPage];
}
}];
基本上,每个页面都会听取您的自定义通知,当传递页面索引与控制器的索引匹配时,它成为当前页面。