use*_*500 3 objective-c xamarin.ios ios
我看到很多代码解释了如何在视图中居中子视图.代码示例通常如下所示:
SubView.center = view.center;
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释这是如何工作的吗?我只是不明白.
在view.center给出了视图的中心点.例如,宽度为100,高度为100,它将返回(50,50).我知道了.
设置subview.center对我来说很奇怪. subview.center将返回子视图的中心点.不知何故,将其设置为(50,50)会将子视图定位在其父级中,坐标为50/50.但是如果子视图本身宽度为50且高度为50,则访问此属性将返回let(),然后返回(25,25).
我的意思是什么?这里的概念对我来说很奇怪,因为setter和getter正在做不同的功能.
如果有人可以解释这个,请做.或者,如果我离开基地,我也想知道.我是iOS开发的新手.
如果我是正确的,这确实是它的工作方式,你不会认为这是一种反模式.当然,在.NET中,这样的东西就是反模式.也许不适合Obj-C?
将子视图居中在视图中.我认为以下代码是正确的.
Swift 3.0:
SubView.center = CGPoint(x: view.bounds.midX, y: view.bounds.midY );
Run Code Online (Sandbox Code Playgroud)
Swift 2.2:
SubView.center = CGPointMake( CGRectGetMidX( view.bounds ), CGRectGetMidY( view.bounds ) );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3364 次 |
| 最近记录: |