2

素敵なサンプルコードUAModalPanelを1つダウンロードしました。プロジェクトに実装しました。セグメントコントロールの最初のインデックスをタップすると、UAModalPanelが開きます。私はこれをうまく実装できました。

しかし、セグメント制御で2番目または3番目のインデックスを選択した場合、UAModalPanelを閉じる必要があります。これを実現するにはどうすればよいですか。誰かが私を導くことを知っているなら?

ここに画像の説明を入力してください 以下のセグメントコントロールをタップすると、

   -(void)navBarSegmentCntrl_tapped
{
if(navBarSegmentCntrl.selectedSegmentIndex==0)
{

    UAExampleModalPanel *modalPanel = [[UAExampleModalPanel alloc] initWithFrame:self.view.bounds title:@"dfg" ];



    [self.view addSubview:modalPanel];

    // Show the panel from the center of the screen
    [modalPanel showFromPoint:self.view.center];



}
else if(navBarSegmentCntrl.selectedSegmentIndex==1)
{
    [UAmodal hide];  //UAmodal allocated in view didload//
    imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = 
    UIImagePickerControllerSourceTypePhotoLibrary;

    [self presentModalViewController:imagePickerController animated:YES];   
}

}

4

1 に答える 1

1

問題は、あなたが呼んでいるオブジェクトがあなたが呼んshowでいるものと同じではないということhideです。インターフェイスファイルで宣言する必要があります。

@interface MyViewController : UIViewController
{
    UAModalPanel *myModalPanel;
}

次に、メソッドで表示するときに、navBarSegmentCntrl_tappedこれを初期化します(設定が完了し、View Controllerが「オブジェクトをすでに認識している」場合は、再度myModalPanel 実行する必要はありません。実行するだけです)。UAModalPanel *myModalPanelmyModalPanel = [[UAModalPanel alloc] init....

次に、それを非表示にするには、を呼び出します[myModalPanel hide];

于 2012-09-05T08:22:39.910 に答える