私は非常に奇妙な問題だと思っています。同じコマンド、別の結果setFrame:NSView
まず第一に、私のアプリケーションは、次の例のコマンドを使用して、画面の周りのUI要素を移動:
[view setFrame:NSRectFromCGRect(CGRectMake(0, 0, 0, 0))];
私は私のユーザーが、このコマンドで一つの他のサイズへのアプリケーションのNSWindowのサイズを変更する可能性を与える:
[self.window setFrame:NSRectFromCGRect(CGRectMake(0, 0, 0, 0)) display:YES animate:YES];
「サイズ変更モード」では、私は明らかにすべての単一のsetFrame
コマンドを適切な座標系に変更します。
しかし、ユーザーがボタンを再度クリックして元のNSWindowサイズに戻ったときに、アプリケーションが再度UIの移動を実行すると、移動したビューは表示されません。
明確にするために:私のUIの動きのコードは、通常のモードまたはサイズ変更されたモードで、細かく何度も何度も繰り返し実行されます。しかし、一方から他方に切り替えると、一部の項目(すべてではない)がシフトされます。
この奇妙な動作の原因は何でしょうか?私は(画面の解像度ごとに)同じ正確なコマンドを使用しており、NSLogsはUI要素が指定した場所にあることを確認します。しかし、この場所はと明確にに移動しようとしています。
誰も同じような問題を経験しましたか?
これは可能ですが、確認する必要があります。しかし、私は自動サイズ変更を使用していますが、ウィンドウのサイズを変更した後でもオブジェクトを移動する必要があります。だから、これは私が完全に自動サイズ調整を行い、自動サイズ調整の代わりにsetFrameを使うことを意味しますか? – elliottbolzan
すべてのオブジェクトを手動で配置する必要がある場合は、自動化をオフにするとデバッグが簡略化されます。 – paulmelnikow