2017-01-09 7 views
0

私はMacの画面でテストしているときにNSViewをより大きなディスプレイ用に拡大しようとしています。NSViewはすべてのコンテンツをスケーリングしていません

NSRect wFrame = self.window.frame; 
wFrame.origin.x = 200; 
wFrame.origin.y = 100; // from bottom of my screen 
wFrame.size.width = 1080 * 0.5; // so it will fit on my screen 
wFrame.size.height = 1920 * 0.5; 
[self.window setFrame:wFrame display:YES]; // the window is smaller, but not everything is scaled (e.g., font sizes) 

正しいサイズのウィンドウが作成され、ほとんどのコンテンツが半分のサイズで描画されます。しかし、スケールされていないものもあります。

  1. NSButtonのタイトルテキストは、依然としてオリジナルの大きなサイズです。ボタンに画像が含まれている場合、画像は適切に拡大/縮小されます。

  2. WebViewのコンテンツは、小さいサイズでレンダリングされません。

どのようにボタンのタイトルやWebviewのコンテンツを含むすべてのコンテンツを拡大縮小できますか?私はここで答えた

+0

拡大縮小したいビューを描画するコードを表示できますか? – rocky

+0

私はフォントがビューで拡大縮小されているとは思わない。必要なフォントサイズを計算し、それに応じて変更する必要があります。ボタンがスケーリングされていない理由にもなります。おそらくフォントを格納するのに必要なサイズを保持しているでしょう。 – Alex

+0

@rocky:このウィンドウには1つのNSView(inとXIB)があり、そのビューにはダースのボタンとWebViewという一連のサブビューがあります。何もない。私は自分の絵を描いていません。これらすべてのコントロールのサイズは適切に調整されます。 – Jeff

答えて

0

https://stackoverflow.com/a/33293423/236415

を私はNSScrollView(私のスクリーンのためのサイズ)での私のフルサイズのNSView(およびそのサブビュー)をラップし、その後0.5に倍率を設定します。

関連する問題