Ios 如何在UIView';s-ObjectiveC
我有一个应用程序,其中有许多Ios 如何在UIView';s-ObjectiveC,ios,objective-c,iphone,xcode,uiview,Ios,Objective C,Iphone,Xcode,Uiview,我有一个应用程序,其中有许多UIView的嵌套在一起 我想找到一些UIView的关于控制器的框架 我设置了一个示例: 我可以找到白色UIVieww.r.t到Controller的帧,但是如何找到RedViewwrt到Controller的帧呢 用于查找白色视图的框架的代码: - (void)viewDidAppear:(BOOL)animated { NSLog(@"--OuterFrame---%@",NSStringFromCGRect(sel
UIView的
嵌套在一起
我想找到一些UIView的
关于控制器的框架
我设置了一个示例:
我可以找到白色UIView
w.r.t到Controller
的帧,但是如何找到RedView
wrt到Controller的帧呢
用于查找白色视图的框架的代码:
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"--OuterFrame---%@",NSStringFromCGRect(self.grayView.frame));
NSLog(@"--InnerFrame---%@",NSStringFromCGRect(self.whiteView.frame));
NSLog(@"---Frame With resepect to self.view --%@",NSStringFromCGRect([self.grayView convertRect:self.whiteView.frame toView:self.view]));
}
如果他们的视图是红色视图中的另一个视图呢。您的总体思路是正确的。但是,如果使用内部视图的
边界
,并使用self.view
转换:
// assumes innerView is a view somewhere underneath self.view
CGRect innerViewRectRelativeToController =
[self.view convertRect:innerView.bounds fromView:innerView];
这样,您只需要指定要从中转换的视图和要转换到的视图。您无需考虑这两者之间的视图。
self.view.convertRect(redView.frame,fromView:self.whiteView)
?谢谢……它工作得很好……我尝试着找到redView的框架,效果很好。我想问的一个问题是……这个方法独立于嵌套吗……意味着我的视图在UIView中更深10层。这个方法有效吗?是的,我正在使用它:)