SWRevealViewControllerを使用した右側の2つのパネル

iOSDeveloper

1本の指でパンジェスチャを使用して、右側に1つのパネルを作成することに成功しました。ユーザーがTwoFinger Gestureを使用してスワイプすると、同じ側に別のViewControllerを表示する必要があります。これをSWRevealViewController.hクラスファイルに追加しようとしましたが、機能しません。2つの異なるシークとsw_rightとsw_testを作成しました。ユーザーが1本の指をスワイプするとSW_rightシークのビューコントローラーが表示され、ユーザーが2本の指のシークをスワイプするとSW_testセグエが表示されます。私がここで打たれるのを手伝ってください。以下は私のコードです

static NSString * const SWSegueRearIdentifier = @"sw_rear";
static NSString * const SWSegueFrontIdentifier = @"sw_front";
static NSString * const SWSegueRightIdentifier = @"sw_right";
static NSString * const SWSegueRightIdentifier2 =@"sw_test"; // mytest

- (void)prepareForSegue:(SWRevealViewControllerSegue *)segue sender:(id)sender
{
    // $ using a custom segue we can get access to the storyboard-loaded rear/front view controllers
    // the trick is to define segues of type SWRevealViewControllerSegue on the storyboard
    // connecting the SWRevealViewController to the desired front/rear controllers,
    // and setting the identifiers to "sw_rear" and "sw_front"

    // $ these segues are invoked manually in the loadView method if a storyboard
    // was used to instantiate the SWRevealViewController

    // $ none of this would be necessary if Apple exposed "relationship" segues for container view controllers.

    NSString *identifier = segue.identifier;
    if ( [segue isKindOfClass:[SWRevealViewControllerSegue class]] && sender == nil )
    {
        if ( [identifier isEqualToString:SWSegueRearIdentifier] )
        {
            segue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
            {
                [self _setRearViewController:dvc animated:NO];
            };
        }
        else if ( [identifier isEqualToString:SWSegueFrontIdentifier] )
        {
            segue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
            {
                [self _setFrontViewController:dvc animated:NO];
            };
        }
        else if ( [identifier isEqualToString:SWSegueRightIdentifier] )
        {
            segue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
            {
                [self _setRightViewController:dvc animated:NO];
            };
        }
        //mytest code
        **else if ( [identifier isEqualToString:SWSegueRightIdentifier2] )
        {
            segue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
            {
                [self _setRightViewController:dvc animated:NO];
            };
        }**
        //code test

    }
}
iOSDeveloper

最後に、2つのパネルを持つソリューションがあります。実行したタッチに基づいて2つの異なるデータを表示するために1つのコントローラーを使用しました。ここで私がしたこと。私はこのコードをリビールビューコントローラーで書きました

-(void)viewWillAppear:(BOOL)animated
{
     int numberofTouches =  self.revealViewController.panGestureRecognizer.numberOfTouches;
    NSLog(@"%d",numberofTouches);
    if (numberofTouches ==1) {
        numberOfTouchesString=@"One";
    }
    else if (numberofTouches==2)
    {
        numberOfTouchesString=@"Two";
    }
    [learningSearchTableView reloadData];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if ([numberOfTouchesString isEqualToString:@"One"]) {
        return 6;
    }
    else if ([numberOfTouchesString isEqualToString:@"Two"])
    {
        return 5;
    }
    else
        return 0;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"selected");
    if ([numberOfTouchesString isEqualToString:@"One"]) {
        NSLog(@"%@",indexPath);

    }
    else if ([numberOfTouchesString isEqualToString:@"Two"])
    {
        NSLog(@"The other %@",indexPath);
    }

}
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"learningSearchCellIdentifier";
    LearningSearchCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];


    if ([numberOfTouchesString isEqualToString:@"One"]) {
      cell.subjectNameLabel.text=@"ART";
        cell.subjecDataAndSessionLabel.text=@"Friday 11th April - LS3(Cohort 11)";
        cell.teacherNameLabel.text=@"Mr Starr";

    }
    else if ([numberOfTouchesString isEqualToString:@"Two"])
    {
        cell.subjectNameLabel.text=@"English";
        cell.subjecDataAndSessionLabel.text=@"Sunday 12th April - LS3(Cohort 11)";
        cell.teacherNameLabel.text=@"Mr Harry";


    }
    return cell;


}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Ggplot2ファセット:右側のサイドパネルのy軸を右側に配置します

分類Dev

JASidePanelsは右側のパネル境界を修正します

分類Dev

Firebugは、クラス名とその場所を右側のパネルに2回表示します

分類Dev

Gnomeパネルを右側に配置したときのグラフィカルなバグ

分類Dev

Visual Studio Codeのパネルを右側に移動する

分類Dev

j右側のスライダーパネルを照会する

分類Dev

CSSを使用して水平方向の中央の左側と右側に2つの行を設定する

分類Dev

2つのdivを右側の画像に中央揃えします

分類Dev

左側のパネルでメニュー項目をクリックしても、右側のパネルのフォームは更新されません

分類Dev

PythonとDLibを使用して線の左側または右側にある点を見つける方法は?

分類Dev

SilverstripeCMS管理者のヘルプコンテンツとして右側のパネルを追加する方法

分類Dev

フルハイトボーダー-float:leftを使用したdivの右側

分類Dev

Swiftを使用したSWRevealViewControllerのprepareForSegue

分類Dev

Gnomeセッション-下部パネルの右側にあるステータスメニューを誤って削除しました

分類Dev

右側のテーブルで特殊なケースを使用して2つのテーブルを結合しますか?

分類Dev

jQuery Mobile:右側の絶対外部パネルが機能しない

分類Dev

右側のCountおよびWhere句を使用した左結合

分類Dev

右側のパネル:どのように?

分類Dev

右側のテーブルの最後の項目の条件を使用したSQL結合

分類Dev

2つのサブプロットの右側にテーブルを追加します

分類Dev

ネストされた for ループを使用した 2 つの配列の比較

分類Dev

ブートストラップパネルで1つのボタンを左揃えにし、2つのボタンを右揃えにします

分類Dev

android:layout_toRightOfを使用して2つのアイテムを右側に配置する方法

分類Dev

パネルをめちゃくちゃ。xubuntuパネルの右側に空白がありますか?

分類Dev

Flutterは2つの項目を極端に配置します-1つは左側、もう1つは右側

分類Dev

Laravel 2テーブルは、指定されたFK値を持つ右側のテーブルのメンバーとマージされた左側のテーブルのすべてと結合します

分類Dev

右側の2つの列をブートストラップします

分類Dev

Flexboxは、左側に2つのdivを作成し、右側に3番目のdivを作成します

分類Dev

丸みを帯びた画像の右側にトグルパネルを取り付ける最良の方法は何ですか?

Related 関連記事

  1. 1

    Ggplot2ファセット:右側のサイドパネルのy軸を右側に配置します

  2. 2

    JASidePanelsは右側のパネル境界を修正します

  3. 3

    Firebugは、クラス名とその場所を右側のパネルに2回表示します

  4. 4

    Gnomeパネルを右側に配置したときのグラフィカルなバグ

  5. 5

    Visual Studio Codeのパネルを右側に移動する

  6. 6

    j右側のスライダーパネルを照会する

  7. 7

    CSSを使用して水平方向の中央の左側と右側に2つの行を設定する

  8. 8

    2つのdivを右側の画像に中央揃えします

  9. 9

    左側のパネルでメニュー項目をクリックしても、右側のパネルのフォームは更新されません

  10. 10

    PythonとDLibを使用して線の左側または右側にある点を見つける方法は?

  11. 11

    SilverstripeCMS管理者のヘルプコンテンツとして右側のパネルを追加する方法

  12. 12

    フルハイトボーダー-float:leftを使用したdivの右側

  13. 13

    Swiftを使用したSWRevealViewControllerのprepareForSegue

  14. 14

    Gnomeセッション-下部パネルの右側にあるステータスメニューを誤って削除しました

  15. 15

    右側のテーブルで特殊なケースを使用して2つのテーブルを結合しますか?

  16. 16

    jQuery Mobile:右側の絶対外部パネルが機能しない

  17. 17

    右側のCountおよびWhere句を使用した左結合

  18. 18

    右側のパネル:どのように?

  19. 19

    右側のテーブルの最後の項目の条件を使用したSQL結合

  20. 20

    2つのサブプロットの右側にテーブルを追加します

  21. 21

    ネストされた for ループを使用した 2 つの配列の比較

  22. 22

    ブートストラップパネルで1つのボタンを左揃えにし、2つのボタンを右揃えにします

  23. 23

    android:layout_toRightOfを使用して2つのアイテムを右側に配置する方法

  24. 24

    パネルをめちゃくちゃ。xubuntuパネルの右側に空白がありますか?

  25. 25

    Flutterは2つの項目を極端に配置します-1つは左側、もう1つは右側

  26. 26

    Laravel 2テーブルは、指定されたFK値を持つ右側のテーブルのメンバーとマージされた左側のテーブルのすべてと結合します

  27. 27

    右側の2つの列をブートストラップします

  28. 28

    Flexboxは、左側に2つのdivを作成し、右側に3番目のdivを作成します

  29. 29

    丸みを帯びた画像の右側にトグルパネルを取り付ける最良の方法は何ですか?

ホットタグ

アーカイブ