我有一個呈現模態視圖的iPad應用程序。我想對模態視圖的控件進行一些編程操作,但是我找不到獲取模態視圖大小的方式。如果我調用View.Bounds或View.Frame,它給了我整個屏幕的邊界/框架(即1024x768) - 但是我從測量自己知道模態視圖實際上大約是540x620。以編程方式確定iPad模式視圖的大小
雖然我知道自己可以對此進行硬編碼,但這讓我覺得很骯髒......有沒有一種程序化方式讓模態視圖獲得自己的「真實」尺寸?
感謝
約翰
我有一個呈現模態視圖的iPad應用程序。我想對模態視圖的控件進行一些編程操作,但是我找不到獲取模態視圖大小的方式。如果我調用View.Bounds或View.Frame,它給了我整個屏幕的邊界/框架(即1024x768) - 但是我從測量自己知道模態視圖實際上大約是540x620。以編程方式確定iPad模式視圖的大小
雖然我知道自己可以對此進行硬編碼,但這讓我覺得很骯髒......有沒有一種程序化方式讓模態視圖獲得自己的「真實」尺寸?
感謝
約翰
謝謝。問題實際上是我試圖在ViewDidLoad方法中獲得大小,而不是ViewDidAppear(總是讓我......)。在ViewDidLoad中,它返回了1024x768的大小,但是當我將代碼移入ViewDidAppear時,它開始返回正確的(540x620)大小!
你試過設置modalPresentationStyle
?
modalController.modalPresentationStyle = UIModalPresentationFormSheet;
然後你應該從modalController.view.frame
得到正確的幀大小(540 x 620)。
謝謝。問題實際上是我試圖在ViewDidLoad方法中獲得大小,而不是ViewDidAppear(總是讓我......)。在ViewDidLoad中,它返回了1024x768的大小,但是當我將代碼移入ViewDidAppear時,它開始返回正確的(540x620)大小! – John 2011-05-18 10:49:58
@John你對此的評論讓我意識到爲什麼我經常遇到與設置視圖大小有關的問題。我想這個信息也寫在蘋果文檔的某個地方。無論如何,我認爲你應該創造了一個答案(因爲它就是這樣)而不是寫評論。 – Luka 2012-11-15 11:38:19
好主意 - 謝謝。 – John 2012-11-27 22:45:44
你可以發佈你正在做什麼來獲得它的代碼嗎? – 2011-05-18 06:57:10
我不確定你在問什麼 - 我試圖找出代碼的大小,我沒有寫過... – John 2011-05-18 07:21:18