スライドメニューを実装しましたが、Facebookとまったく同じスライド効果が欲しいです。私はstackoverflowに関する次の投稿に出くわしました:
ObjectiveCを使用したiphonefacebookサイドメニュー
greenisus(15回まで投票)によって与えられたソリューションを実装したいのですが、それを実装するのに問題があります。ボットは彼の回答に対するコメントで同じ問題を提起しました。「@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);
}];
}
それが一般的な考え方です。ビュー階層などを反映するようにコードを変更する必要がある場合があります。
次の方法をいつ使用する必要があるかを知りたいだけです。2番目の方法は単純で正常に機能しますが、その下にメニュービューが表示されません。
[self.view sendSubviewToBack:menuViewController.view];
上記のコードを正しく実行するためのいくつかのポインタまたは解決策を探しています。