4

ポップオーバーに「引き出し」テーブルが表示されたiPadアプリがあります。ユーザーは、ドロワー内のアイテムをタップアンドホールドして、そのアイテムをそのアイテムからメインビューにドラッグできます。その部分は正常に機能します。残念ながら、ドラッグされているビューはポップオーバーの下に表示され、その下からドラッグアウトされるまで表示するには小さすぎます。ビューをポップオーバーのビューコントローラーのサブビューとして追加するとポップオーバーのフレームによってクリップされ、UIPopoverControllerビューにアクセスできないため、レイヤーを無効にできませんmasksToBounds。おそらく、無効になりません。とにかく素晴らしいアイデアになります。UIWindow値の高い追加機能を使用してwindowLevel、ドラッグされたビューをポップオーバーの上に強制的に表示できると思いますが、これはやり過ぎのようです。より良い解決策はありますか?

4

2 に答える 2

7

とった。UIWindow正常に動作します。コード:

// when drag starts
draggingView = [[UIWindow alloc] initWithFrame:CGRectMake(0,0,100,100)];
draggingView.windowLevel = UIWindowLevelAlert;
draggingView.center = [gestureRecognizer locationInView:self.view.window];
[draggingView makeKeyAndVisible];

// when drag ends
[draggingView release];
draggingView = nil;
于 2010-04-12T14:16:33.167 に答える
0

Swiftバージョンの追加:

    let windows: [UIWindow] = UIApplication.shared.windows
    let firstWindow: UIWindow = windows[0]

    firstWindow.addSubview(loadingView)
    firstWindow.bringSubview(toFront: loadingView)

管理者への編集:レビューに感謝–他の回答を重複して削除UIPopoverController上にUIViewを表示する方法

于 2017-01-27T03:20:42.943 に答える