Raj*_*dal 217 cocoa-touch uiview ios autoresizingmask
我在(可能是错误的)假设中,在xib中启用右边距指示符等同于使用UIViewAutoresizingFlexibleLeftMargin
内部代码等等.
所以,我曾经根据这个快照思考:
今天晚些时候我不得不交叉检查,偶然发现了这个帖子.
还有苹果文档,标题为标题部分 - "使用自动调整规则自动处理布局更改"链接:https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingViews/ CreatingViews.html
所以我现在脑子里有一个更新的概念,关于如何以编程方式设置自动调整掩码等同于xib设置:
场景1:仅设置(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)
相当于:
在XIB?
场景2:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin)
代码设置相当于:
在XIB?
我的2个更新方案是否正确?我现在理解了吗?
Sam*_*Sam 47
是的,你已正确引用了一些东西.此外,我同意它感觉有点倒退,所以为此我感谢你的帖子.
UIViewAutoresizingFlexibleMargins
在使UIView的边距在各个方向都灵活时,您可能会喜欢使用预处理器宏.我把它放在预编译的头文件中,所以它包含在任何地方.
#define UIViewAutoresizingFlexibleMargins \
UIViewAutoresizingFlexibleBottomMargin | \
UIViewAutoresizingFlexibleLeftMargin | \
UIViewAutoresizingFlexibleRightMargin | \
UIViewAutoresizingFlexibleTopMargin
Run Code Online (Sandbox Code Playgroud)
使用UIViewAutoresizingFlexibleMargins
将使UI元素保持居中,因为它不会拥抱任何一方.要使元素与其父元素一起增长/缩小UIViewAutoresizingFlexibleWidth
,请UIViewAutoresizingFlexibleHeight
分别设置和.
我喜欢使用UIViewAutoresizingFlexibleMargins
因为我可以稍后引用它:
myView.autoresizingMask = UIViewAutoresizingFlexibleMargins;
Run Code Online (Sandbox Code Playgroud)
代替
myView.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin;
Run Code Online (Sandbox Code Playgroud)
通常我会看到这些边距在一行上或者像上面的例子一样.只是很难读.
归档时间: |
|
查看次数: |
66230 次 |
最近记录: |