1

上の1つが押されたpickerときにタイプのものを作成しようとしています。tumblrsのiPhoneアプリを見れば、私の言いたいことがわかるだろう。ユーザーが現在何をしていても、それらが提示していると思います。どうすればいいですか?buttonUITabBarUIViewviewcontroller

ここに画像の説明を入力

4

1 に答える 1

3

私へのこの質問は、カスタムタブバーボタンの質問に似ています。tumblrが行ったことは、タブバーの中央にカスタムボタンを追加し、そのボタンをクリックするとモーダルビューコントローラーを提示することだと思います.

私は自分のテスト プロジェクトで非常に簡単なテストを行いました。いくつかの数値はテスト目的でハード コードされています。少し調整する必要があるかもしれません。

  1. タブ バーの中央にカスタム ボタンを追加します。viewWillAppear(次のコードを最初のView Controllerのに追加します)

    - (void)viewWillAppear:(BOOL)animated
    {
        UIImage *buttonImage = [UIImage imageNamed:@"classic-batman-logo.jpg"];
        UIImage *highlightImage = [UIImage imageNamed:@"classic-batman-logo.jpg"];
        UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
        button.frame = CGRectMake(0.0, 0.0, 60, 50);
        [button setBackgroundImage:buttonImage forState:UIControlStateNormal];
        [button setBackgroundImage:highlightImage forState:UIControlStateHighlighted];
    
        button.center = CGPointMake(self.tabBarController.tabBar.center.x , 30);
        [button addTarget:self action:@selector(centerButtonClicked) forControlEvents:UIControlEventTouchUpInside];
        [self.tabBarController.tabBar addSubview:button];
    }
    
  2. 次に、centerButtonClicked 関数でターゲット ビュー コントローラーを提示するだけです。

    - (void)centerButtonClicked
    {
       UIViewController *vc = [[UIViewController alloc]init];
       vc.view.backgroundColor = [UIColor redColor];
       [self presentViewController:vc animated:YES completion:nil];
    }
    

これは私が行ったわずか 10 分間のテストで、次のようになります。

ここに画像の説明を入力

たぶん、あなたが注意を払いたいことがいくつかあります:

  • 独自のコードを実装するときに、ハードコーディングされた中心点を変更します。

  • さらに良いことに、その中央ボタンでカスタム tabBar を作成し、そのボタン クリック関数のデリゲート メソッドを設定できます。したがって、別のView Controllerからそのボタンをクリックするたびに、異なる動作になります。

これを達成する方法について大まかなアイデアが得られることを願っています。

于 2014-02-17T20:06:03.880 に答える