2015-04-15 41 views
-1

我有一個iOS應用程序與iOS 8小部件,我想獲取包含我的小部件(不是設備屏幕的大小)的幀的大小,這可能嗎?獲取UIView的幀大小 - iOS

我已經嘗試了以下,但它返回了整個設備屏幕的幀大小,這不是我正在尋找的。

CGSize sz = [UIScreen mainScreen].bounds.size; 

從本質上說,這就是我要找:

enter image description here

+0

「我正在嘗試獲取包含我的小部件的幀的大小」但它是小部件,用於設置該幀的大小,所以您怎麼知道大小是什麼?寬度是屏幕的寬度(除邊緣插圖外,您知道的),高度由您的內部佈局約束決定。 – matt

+0

@matt我問這個問題的原因是我使用了一個名爲SCLAlertView的Github庫,但是在我的iOS 8小部件中,它並沒有出現在屏幕中間。這是錯誤的,因爲它使用整個設備屏幕大小來確定它應該在哪裏,但是對於一個小部件,您需要使用小部件的高度而不是屏幕的高度來計算出結果。所以我想要做的是將小部件的高度傳遞給它,或者讓庫找出小部件本身的高度。 – Supertecnoboff

回答

0

好不管,我設法解決它自己到底。我只是通過手動將我的視圖的高度傳遞給我正在使用的庫,以便它能夠正常工作。

基本上我使用一個名爲SCLAlertView的庫來提供一個很好的彈出警報,並且讓它正確定位(垂直),如果它確實是一個窗口小部件視圖,我現在正在傳遞視圖的高度。