bringSubviewToFrontの機能をiPhoneに複製する必要がありますが、私はMacでプログラミングしています。これはどうすればできますか?OS X版のbringSubviewToFront :?
8
A
答えて
6
は、実際にこれを試していない - と、それを行うには良い方法があるかもしれない - しかし、これは動作するはずです:
NSView* superview = [view superview];
[view removeFromSuperview];
[superview addSubview:view];
これはその兄弟の前に「ビュー」を移動します
0
オーバーラップする兄弟ビューは、AppKitでの作業を正しく行うのが難しい場合があります。これは、長期間にわたって完全にサポートされていませんでした。代わりにそれらをCALayersにすることを検討してください。ボーナスとして、あなたのiOSバージョンでこのコードを再利用できるかもしれません。
0
も石英レンダリングのためのレイヤーを有効にしてください:
...
NSImageView *anImage = [[NSImageView alloc] initWithFrame:NSRectMake(0,0,512,512)];
[anImageView setWantsLayer:YES];
...
そうでない場合は、あなたの層が正しくレンダリングすることができません。
0
Pete Rossiの回答は機能しますが、スーパービューから削除するとビューが保持されます。
あなたはNSViewの上のカテゴリーでこれを追加することができます:私は、マウスでドラッグしたときに、フロントにビューをポップするために必要なので
-(void)bringSubviewToFront:(NSView*)view
{
[view retain];
[view removeFromSuperview];
[self addSubview:view];
[view release];
}
5
ピート・ロッシの答えは私のために動作しませんでした。しかし、同じラインに沿って、次はマウスを殺さずに仕事をした:
CALayer* superlayer = [[view layer] superlayer];
[[view layer] removeFromSuperlayer];
[superlayer addSublayer:[view layer]];
はまた、NSViewのサブクラスまたはカテゴリに配置された以下のはかなり便利です:
- (void) bringToFront {
CALayer* superlayer = [[self layer] superlayer];
[[self layer] removeFromSuperlayer];
[superlayer addSublayer:[self layer]];
}
+0
パーフェクト!ちょうど私が必要なもの、ありがとう。 –
0
これはスウィフト3.0ソリューションです。
extension NSView {
public func bringToFront() {
let superlayer = self.layer?.superlayer
self.layer?.removeFromSuperlayer()
superlayer?.addSublayer(self.layer!)
}
}
関連する問題
- 1. PyQt4とPython 3.2(OS X版)
- 2. はImportError:MacのOS X 10.7.5 のPython版:
- 3. Mac OS X版とLinux版のElectronアプリのレイアウト方法は?
- 4. OS X版(Lionまたはnot)検出のCマクロ?
- 5. ビルドapr-util 64ビットMac OS Xは32ビット版をビルド
- 6. のMac OS XのColdFusion 9デベロッパー版ではありませんMicrosoft Accessのドライバが - 私はCF9デベロッパー版は、Mac OS X 10.6にインストールされているアクセス
- 7. OS X
- 8. iPhoneベータ版OS制限
- 9. OS XのInputManager
- 10. モノ&OSのX
- 11. のMac OS X
- 12. OS XのPYTHONPATH
- 13. OS Xのマウントローカルディレクトリ
- 14. OS XでのリンカエラーX
- 15. OS XのPyCharm - $ PATH
- 16. のMac OS X 10.11.4
- 17. MAC-OS Xのネットワークセキュリティ
- 18. OS Xマーベリックスのマンプエラー
- 19. OS XのEclipse C++
- 20. Mac OS XのNCReport
- 21. OS X Appのポップアップウィンドウ
- 22. OS XのNSUserNotification()onclick
- 23. Mac OS Xのカバレッジテストツール?
- 24. フォース - のMac OS X
- 25. osのvirtualenvエラーX
- 26. matplotlib OS XのTclError
- 27. Mac OS Xのデータベース
- 28. C++のOS Xグローバルショートカット
- 29. OS XのCUDAリンクエラー
- 30. Mac OS Xのプログラムイントロ
おそらく効率的ではありませんが、私が望んだことを達成します。 – Regan
代わりに 'setSubviews:'メソッドを使って調査する価値があります。 – ArtOfWarfare