
UIView的帧是rectangle,表示为相对于它包含在其中的超级视图的位置(x,y)和大小(宽度,高度)。
因此,假设一个视图的大小为100×100(宽x高)位于其超级视图的25,25(x,y)。以下代码打印出此视图的边界和框架:
// This method is in the vIEw controller of the supervIEw- (voID)vIEwDIDLoad { [super vIEwDIDLoad]; NSLog(@"bounds.origin.x: %f",label.bounds.origin.x); NSLog(@"bounds.origin.y: %f",label.bounds.origin.y); NSLog(@"bounds.size.wIDth: %f",label.bounds.size.wIDth); NSLog(@"bounds.size.height: %f",label.bounds.size.height); NSLog(@"frame.origin.x: %f",label.frame.origin.x); NSLog(@"frame.origin.y: %f",label.frame.origin.y); NSLog(@"frame.size.wIDth: %f",label.frame.size.wIDth); NSLog(@"frame.size.height: %f",label.frame.size.height);} 并且这段代码的输出是:
bounds.origin.x: 0bounds.origin.y: 0bounds.size.wIDth: 100bounds.size.height: 100frame.origin.x: 25frame.origin.y: 25frame.size.wIDth: 100frame.size.height: 100
所以,我们可以看到,在这两种情况下,视图的宽度和高度是相同的,无论是否查看边界或框架。不同之处在于视图的x,y定位。在边界的情况下,x和y坐标为0,0,因为这些坐标是相对于视图本身的。然而,帧x和y坐标是相对于视图在父视图中的位置(我们之前我们说在25,25)。
还有一个great presentation涵盖UIVIEws。请参阅幻灯片1-20,这不仅解释框架和边界之间的差异,而且还显示视觉示例。
总结以上是内存溢出为你收集整理的可可:框架和边界有什么区别?全部内容,希望文章能够帮你解决可可:框架和边界有什么区别?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)