2015-04-15 42 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的库来提供一个很好的弹出警报,并且让它正确定位(垂直),如果它确实是一个窗口小部件视图,我现在正在传递视图的高度。