小编Nov*_*edy的帖子

在ECSlidingViewController中,如何禁用从屏幕滑动的顶视图

所以我正在尝试将ECSlidingViewController示例实现到我的应用程序中. github这个来源

我唯一想做的就是修改它,防止TopView在更改包含的视图之前完全滑离屏幕,而只是保持TopView到位,但用它的新视图控制器更新它的包含视图从菜单中选择.Facebook应用程序对此的看法正是我想要的,以防听起来令人困惑.

在项目中查看了一段时间之后,我确定它肯定(显然)与ECSlidingViewController.h中的这行代码有关:

- (void)anchorTopViewOffScreenTo:(ECSide)side animations:(void(^)())animations onComplete:(void(^)())complete;
Run Code Online (Sandbox Code Playgroud)

我查看了.m中调用它的位置:

- (void)anchorTopViewOffScreenTo:(ECSide)side{
[self anchorTopViewOffScreenTo:side animations:nil onComplete:nil];
}

- (void)anchorTopViewOffScreenTo:(ECSide)side animations:(void(^)())animations onComplete:(void(^)())complete
{
CGFloat newCenter = self.topView.center.x;
if (side == ECLeft) {
 newCenter = -self.resettedCenter;
} else if (side == ECRight) {
 newCenter = self.screenWidth + self.resettedCenter;
}

[self topViewHorizontalCenterWillChange:newCenter];

[UIView animateWithDuration:0.25f animations:^{
 if (animations) {
  animations();
}
[self updateTopViewHorizontalCenter:newCenter];
} completion:^(BOOL finished){
 if (complete) {
  complete();
 }
 _topViewIsOffScreen = YES;
 [self addTopViewSnapshot];
 dispatch_async(dispatch_get_main_queue(), ^{
   NSString *key = (side == ECLeft) ? …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios

2
推荐指数
1
解决办法
2874
查看次数

标签 统计

ios ×1

iphone ×1

objective-c ×1