2012-04-05 6 views
7

これは私が私のアプリでやりたいことです:私は画面の上半分にマップでUIViewを強調したいと思います中央の2つのボタンで残りの半分のテーブルビュー。私がボタンの1つを押すとマップはフルスクリーンになり、もう1つを押すとtableViewがすべてのスクリーンに合うようになります。私は半分のUITableViewを実装したいと思います中間のボタンを持つMapView UIView

提案がありますか?

答えて

7

UINavigationControllerのような1つのビューコントローラでは、ビューの上半分のサイズのフレームでMKMapViewを作成し、ビューコントローラのサブビューとして追加します。次に、あなたのボタンを保持するためのUIToolbarを作成し、その上部をMKMapViewの下部にフレームラインを作成します。最後に、他のもののすぐ下にあるフレームを使用してUITableViewを作成します(デリゲートを接続してください)。あなたは2 viewcontrollersを作成する意味でください

[UIView animateWithDuration:0.24 
         delay:0.0 
        options:UIViewAnimationCurveEaseOut 
       animations:(void (^)(void)) ^{ 
        self.toolbar.frame = CGRectMake(0, MAP_HEIGHT_FULLSCREEN, 320, TOOLBAR_HEIGHT); 
        self.mapView.frame = CGRectMake(0,0,320,MAP_HEIGHT_FULLSCREEN); 
        self.tableView.frame = CGRectMake(0, MAP_HEIGHT_FULLSCREEN+TOOLBAR_HEIGHT, 320, MAP_HEIGHT_FULLSCREEN-MAP_HEIGHT); 
       } 
       completion:^ (BOOL finished){} 
]; 
+0

うわーありがとう!私はすでにそれを実装していると本当に素晴らしい! – sergiocg90

+0

@SergioCalvoGonzálezよろしくお願いします。私の答えがあなたを助けてくれたら、投票を忘れることはありません。 –

+0

申し訳ありませんが、まだ投票できません... – sergiocg90

1

両方のビューを作成する方法を計画します。1つのボタンをクリックして、1つのビューのフレームをフルスクリーンに合わせて変更します。他のボタンをクリックすると、同じビューを他のビューに適用します。

+0

その後マップは、このような3つのすべてのビューのフレームをアニメーション化する方法にフルスクリーン行かせるあなたのUIBarButtonItemのターゲットを割り当てますか?または、同じviewControllerで両方を実装し、ボタンが押されたときにフレームを変更しますか? – sergiocg90

+1

1ビューコントローラ。 2回の再生ビューのフレームを変更します。 –

関連する問題