2012-10-30 68 views
2

我對加載動畫執行以下操作,將其放置在屏幕的底部中央。IOS中心底部位置視圖

CGPoint bottomCenter = CGPointMake((self.imageView.bounds.size.width/2), (self.imageView.bounds.size.height * 0.8)); 
    self.activityView.center = bottomCenter; 

(ImageView的是全屏開機畫面)

如果方向爲縱向,這是完全或定位,但是在其一側轉動,在景觀倒掛畫像和動畫客場結束英里:S

有誰知道正確的方式來定位此加載動畫,它的啓動畫面。

回答

0

使用UIDeviceOrientationIsLandscape(deviceOrientation)UIDeviceOrientationIsPortrait(deviceOrientation),而不是deviceOrientation==X

0

首先,看tkanzakic的回答。 其次,不要使用屏幕邊界,通過其父視圖定位視圖。如果您將視圖置於父視圖的底部,並且正確設置了自動識別掩碼,則所有操作都將自動完成 - 無需檢查設備方向。

+0

這似乎沒有幫助,因爲它在啓動畫面上,許多視圖沒有完全加載,所以沒有正確的寬度和高度,我已經修改代碼是這樣的: CGPoint bottomCenter = CGPointMake((self.imageView.bounds.size.width/2),(self.imageView.bounds.size.height * 0.8)); self.activityView.center = bottomCenter; 啓動屏幕圖像界限,代表任何方向的正確的高度和高度,但仍然無法在標準人像模式以外的任何其他位置座標 –

+0

@Ben_hawk顯示未完全加載的內容不起作用。這是正確的答案。如果這不適合你,這是你的架構責備。初始屏幕並不是一些特殊的視圖。此外,您不需要視圖具有正確的界限。您只需正確設置自動調整大小,並在視圖獲得正確的邊界時,所有內容都將正確調整大小(並重新定位)。 – Sulthan

+0

它不能成爲我的架構,因爲它來自phonegap框架,加載動畫是您使用phonegap項目獲得的默認設置。我試圖移動它的原因是,它涵蓋了我的閃屏圖像,所以我想它坐在底部:(但它似乎是無視我嘗試的任何東西,它不像其他視圖那樣自動旋轉,而且我的猜測是,它與手機剛剛啓動時的位置有關o.0 –

0

試試這個代碼

CGRect screenBounds = [[UIScreen mainScreen] bounds]; 
CGPoint bottomCenter; 
if (deviceOrientation == 1) { 

bottomCenter = CGPointMake((screenBounds.size.width/2), (screenBounds.size.height * 0.8)); 
} 
else if (deviceOrientation == 4) { 
bottomCenter = CGPointMake((screenBounds.size.width/2), (screenBounds.size.height * 0.8)); 
} 

在橫向模式下,你正在服用錯誤的寬度和高度

在橫向模式的寬度和高度也隨之變化。

+0

沒有工作:(你能檢查我的更新問題 –