8

次のように画面の左側にメニュー数を表示したいので、これは新しいFacebookアプリケーションです。赤い四角で囲まれたバーをクリックすると、左側のリストビューが次のように表示されます。私のアプリケーションで正しい部分をスライドさせると、これを追加するために利用できるSDKがあります。助けてください。

ここに画像の説明を入力してください

4

5 に答える 5

8

見てください

https://github.com/BenHall/ios_facebook_style_navigation

あなたはそれをする多くの方法を見つけるでしょう。必要に応じて誰かを選択してください。

于 2013-01-16T06:25:09.213 に答える
3

Facebookの人たちは、アプリの新しいバージョンで素晴らしい仕事をしました。同様のオープンソースコードはここから見つけることができます-

iPhoneのスプリットビューを実行する背後にあるテクニックを明らかにします。

編集:他のいくつかのオープンソースコード:

ソース1
ソース2
ソース3
ソース4
ソース5
ソース6
ソース7
ソース8
ソース9
ソース10
ソース11

于 2013-01-16T06:19:24.017 に答える
3

いいえ、これを行うために利用できるSDKはありません。これは2つの方法で行うことができます。

  1. 2つのUIViewControllerを使用する
  2. 2つのUIViewを使用する。

私はそれを使用し、うまく機能しているので、2番目のものをお勧めします。

最初のアプローチとして、github.comにいくつかの例とデモがあります。

2つのUIViewを使用してどのように実装したかについて簡単に説明します。

すべての通常のコンテンツはデフォルトのUIViewになり、スライドコントロールは2番目のビューになります。

デフォルトでは、通常のUIViewが表示され、スライダーUIViewは-x posにあり、必要に応じて(-200,0,200,320)のように設定します。

[表示/非表示]ボタンをクリックすると、フレームプロパティが変更され、通常のUIViewスライドの右側200ptとスライダーUIViewが画面に表示されます。

非表示/再表示するコードをいくつか示します。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
view.frame = CGRectMake(250,
           view.frame.origin.y,
           view.frame.size.width,
           view.frame.size.height);;

slideView.frame = CGRectMake(0, view.frame.origin.y, 250, view.frame.size.height);;

[UIView commitAnimations];

CGRectMakeのパラメーターは、必要に応じて何でもかまいません。

これを実装するには、UIViewのサブクラスを作成します。Facebookのように見せたい場合は、UITableViewを追加します。

アップデート:

いくつかの新しい実装を検索しているときに、1人の開発者によるこの概念に関する素晴らしい仕事を見つけました。誰かがこの機能を追加することを考えている場合は、一度これにアクセスする必要があります: MMDrawerController

ではごきげんよう

于 2013-01-16T06:29:04.447 に答える
3

InteractiveSideMenuライブラリを使用できます。インタラクティブな開閉メニューをサポートしています。インタラクティブな開閉メニューと以下のカスタマイズをサポートしています。

  • アニメーションの長さ
  • 表示されるコンテンツの幅
  • コンテンツスケール
  • パラメータのカスタマイズで春のアニメーションを使用する
  • アニメーションカーブなどのアニメーションオプション

サイドメニューを実装するためのサブクラスを作成するには、3つの基本的なViewControllerを使用する必要があります。

  • MenuContainerViewControllerメニューおよびコンテンツビューのホストです
  • MenuViewControllerメニュービューのコンテナです
  • MenuItemContentControlllerメニュー項目に対応するコンテンツのコンテナです

サイドメニューを設定するには、次の3つのことを行う必要があります。

  • ベースの実装を提供し、MenuViewControllerそれをmenuViewControllerプロパティに評価します
  • メニューコンテンツの実装を提供し、コンテンツコントローラーの配列をcontentViewControllersプロパティに割り当てます
  • 呼び出して初期コンテンツコントローラーを選択しますselectContentViewController(_ selectedContentVC: MenuItemContentViewController)

ホストコントローラーのセットアップ例を次に示します。

import InteractiveSideMenu

class HostViewController: MenuContainerViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.menuViewController = self.storyboard!.instantiateViewController(withIdentifier: "NavigationMenu") as! MenuViewController

        self.contentViewControllers = contentControllers()

        self.selectContentViewController(contentViewControllers.first!)
    }

    private func contentControllers() -> [MenuItemContentViewController] {
        //here is instantiation of content view controllers
    }
}

詳細については、こちらの例をご覧ください。

于 2017-02-18T10:32:47.920 に答える
0

これは、それを実装するための良い簡単な例です

次のリンクをクリックして入手してくださいhttps://github.com/nverinaud/NVSlideMenuController

于 2013-01-16T06:50:03.797 に答える