6

基本的に、これらは2つの質問です。

  1. iPadのポップオーバービューの矢印を削除するにはどうすればよいですか?

  2. ポップオーバーの黒い境界線を削除する方法はありますか?

不可能な場合は、iPadでUIView(ポップオーバー)を矢印と境界線(明るい透明な境界線の可能性があります)なしで画面の上部に表示する方法を提案できますか?どうもありがとう。

また、ModalViewはサイズ変更できず、モーダルビューの外側をクリックして閉じることができないため、適切なオプションではないと思います。

4

4 に答える 4

7

iPadのポップオーバービューの矢印を削除するにはどうすればよいですか?

-presentPopoverFromBarButtonItem:permittedArrowDirections:を呼び出すときは、定数ではなく、2番目のパラメーターとして0を渡します。これは文書化されていませんが、Appleはこの設定を使用するときにAppStoreでアプリを許可しています。

于 2011-04-19T16:09:47.490 に答える
7

AFIKには、「矢印なし」を指定したり、境界線なしでポップアップを表示したりする組み込みの方法はありません。

これはハックですが、基本的には機能します。ポップアップ コントローラーによって管理されるビュー コントローラーのコンテキストでは、viewWillAppear: 中にポップアップ ウィンドウを取得し、矢印と境界線をレンダリングする最初のレイヤーを削除します。

- (void) viewWillAppear: (BOOL) animated
{
    [super viewWillAppear: animated];

    UIView* v = self.view.superview;
    NSLog( @"%@", NSStringFromClass( [v class]) ); // this should print UIView

    v = v.superview;
    NSLog( @"%@", NSStringFromClass( [v class]) ); // this should print UIPopoverView

    [[v.layer.sublayers objectAtIndex:0] removeFromSuperlayer];
}       

背景/境界線を希望どおりにレンダリングした独自のレイヤーを追加して実験できると思います。

于 2011-01-21T06:11:59.257 に答える
2

ポップオーバーの周りのクロムを削除することはできません。最善の策は、ポップオーバーのアイデアを再実装することですが、カスタム コードを使用します。

于 2011-01-21T06:01:20.270 に答える
1
  • 矢印または境界線を削除することはできません。TomSwift で提案されているように、何らかのハッキングを行うと、アプリを appStore に送信するときにクラッシュしたり、Appleから拒否されたりするリスクがあります。

  • ただし、Kevin が提案したように、コントローラのような独自のカスタム ポップオーバーを実装できます。ここでそれを行うオープンソース プロジェクトを見つけることができます: https://github.com/werner77/WEPopover。背景と矢印は、それらから削除するか、透明に設定できます。

于 2011-11-09T19:51:34.737 に答える