0

私はObjective Cを自分で学んでいて、このようなことをしようとしていましたが、それを行うための最良かつ最も正しい方法は何だろうと思っていました. 私はストーリーボードを使用していますが、これは私の学習用であるため、別の xib で実行できるため、問題ありません。説明するだけで、上部にたくさんのボタンがあり (横にスクロールする必要はありません)、それらに触れると、バルーンのように特定のビューが読み込まれます。タブバーとは違います。

何か案が?

ここに単なる PS があります。コードの準備を求めているのではなく、実装方法のアイデアを求めているだけです。

ありがとう

画像は次のとおりです。

試してみる

4

2 に答える 2

1

これはさまざまな方法で実装できます。いくつかの提案を次に示します。

  1. ボタン バーが のサブビューであり、各ボタンが(対応する矢印の付いた白いビュー) を表示するUIViewController コンテインメントを使用します。ContainerViewControllerContentViewController

  2. ボタン バーの各ボタンにUIViewサブクラスを表示するだけです (矢印の付いた白い領域)。

  3. ボタンバーの各ボタンが UIPopoverController の表示をトリガーするようにします (白い領域。矢印が含まれて自由に配置されるという利点があります)。

  4. ボタンバーのボタンを横にスクロールする必要がある場合は、UICollectionView.

お役に立てれば。

于 2013-09-19T21:21:17.050 に答える
1

カスタムContainer Controllersを使用してそれを行います。

  1. 親viewControllerには、スクリーンショットからのすべてのビューが必要です
  2. childView Controller には、バルーン内にビューが必要です

子viewControllerのリストを作成でき、円の1つがクリックされるたびに、次を使用してコントローラーを変更できます。

- (void) displayContentController: (UIViewController*) content;
{
   [self addChildViewController:content];                 
   content.view.frame = [self frameForContentController];
   [self.view addSubview:self.currentClientView];
   [content didMoveToParentViewController:self];         
}

- (void) hideContentController: (UIViewController*) content
{
   [content willMoveToParentViewController:nil]; 
   [content.view removeFromSuperview];            
   [content removeFromParentViewController];      
}

上向き矢印でビューを作成し、クリックを復活させたボタンの位置に基づいて、その center プロパティを変更します。

-(void)didTouchButton:(UIButton*)target{
       [UIView animateWithDuration:0.5f animations:^ {
           CGRect frame = _upArrow.frame;
           frame.origin.x = target.origin.x;
           _upArrow.frame = frame;
       } completion:^(BOOL finished) {
          // here you can added your view controller
       }
 }
于 2013-09-19T21:22:00.163 に答える