【发布时间】:2012-08-18 10:06:03
【问题描述】:
我已经实现了滑动菜单,但我想要与 facebook 完全一样的滑动效果。 我在stackoverflow上看到了以下帖子:
iphone facebook side menu using objective c
我想实施 greenisus 给出的解决方案(投票 15 次),但我在实施时遇到了麻烦,Bot 在 cmets 中对他的回答提出了同样的问题。 “@greenisus 我对你如何将菜单放在后面感到困惑?当我这样做时,它只会显示一个黑色的侧面菜单。” 这还没有回答。
他的答案供参考的文字是:
真的很简单。首先,您需要创建一个位于可见控制器下方的视图控制器。您可以像这样将该视图发送到后面:
[self.view sendSubviewToBack:menuViewController.view];
然后,您在导航栏的左侧放置一个菜单按钮,并编写如下处理程序:
- (void)menuButtonPressed:(id)sender {
CGRect destination = self.navigationController.view.frame;
if (destination.origin.x > 0) {
destination.origin.x = 0;
} else {
destination.origin.x += 254.5;
}
[UIView animateWithDuration:0.25 animations:^{
self.navigationController.view.frame = destination;
} completion:^(BOOL finished) {
self.view.userInteractionEnabled = !(destination.origin.x > 0);
}];
}
这是一般的想法。您可能需要更改代码以反映您的视图层次结构等。
只是想知道我们什么时候必须使用下面的方法,第二种方法简单而且效果很好,但是它下面不显示菜单视图。
[self.view sendSubviewToBack:menuViewController.view];
寻找一些指针或解决方案来正确运行上述代码。
【问题讨论】:
标签: iphone objective-c ios uiview uiviewcontroller