1

スクリーンショットを ここに画像の説明を入力してください 見ると、ポップビューにnavigationItemを追加することがわかります。

ポップビューを却下できたらいいのに

しかし、それはポップビューの下のセルをタブするだけのようです

ポップビューが閉じます。このメソッドを追加してみます

[self.view removeFromSuperview];

テーブルビューを削除するだけで、ポップビューフレームはまだそこにあり、コンテンツビューはありません

どんな返事も役に立ちます:)

ありがとう

ウェバー

/******編集******/プロジェクトでWEPopoverViewを使用しています

これは、テーブルビューを選択したときにポップビューを作成するコードです。

if (indexPath.row==2) {
DaysOfWeek *popView = [[DaysOfWeek alloc]init];
UINavigationController *navPopView = [[UINavigationController alloc] initWithRootViewController:popView];
    if (self.popoverController) {
       [self.popoverController dismissPopoverAnimated:YES];
       self.popoverController = nil;
}
else {
        self.popoverController = [[[WEPopoverController alloc] initWithContentViewController:navPopView] autorelease];
        CGRect frame = [tableView cellForRowAtIndexPath:indexPath].frame;
        [self.popoverController presentPopoverFromRect:frame 
                                                    inView:self.view            permittedArrowDirections:UIPopoverArrowDirectionDown|UIPopoverArrowDirectionUp
                                  animated:YES];
                        }
                    }

/ ****** EDIT2 ****** /ポップビューを作成するときに[完了]ボタンを追加しようとしていますが、ここにコードがありますが、ナビゲーションのみが表示され、[完了]ボタンは表示されません

DaysOfWeek *popView = [[DaysOfWeek alloc]init];
UINavigationController *navPopView = [[UINavigationController alloc] initWithRootViewController:popView];
navPopView.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(hidePopView)];
4

3 に答える 3

1

ポップアップ ビューを追加するときに、その popupView にタグを設定してから、それらをサブビューとして追加し、

次に使用します:

for (UIView *tempView in [self.view subviews]) {
    if ([tempView tag]==urTag) {
        [tempView removeFromSuperview];
    }
}

これにより、すべてのサブビューが取得され、popupview のみが削除されます

于 2011-06-30T08:21:55.947 に答える
0

意志を解放するだけself.popoverControllerで、すべてのスーパービューを含め、適切に却下されると思います。

deallocのメソッドWEPopoverControllerを見て、どのビューが関係していて削除する必要があるかを確認することもできます。

    [self dismissPopoverAnimated:NO];
    [contentViewController release];
    [containerViewProperties release];
    [passthroughViews release];

とにかく、私が見る唯一の利点は、で呼び出す可能性dismissPopoverAnimatedですYES

お役に立てれば。

編集:

完了ボタンをコントローラーに接続するにはどうすればよいですか?

の読み取り専用プロパティを介してボタンにアクセスできるようにしますDaysOfWeek。次に、コントローラーで を作成するときに、次のようDaysOfWeekにします。

 DaysOfWeek *popView = [[DaysOfWeek alloc]init];
 [propView.doneButton addTarget:self action:@selector(fullyDismissPopover) forControlEvents:UIControlEventTouchUpInside];

fullyDismissPopover では、release を呼び出すか、上で強調表示された一連の関数を呼び出します (ただし、release の方が優れていると思います)。

于 2011-06-30T09:03:47.603 に答える