各位老铁们好,相信很多人对高效布局:掌握Autolayout代码实现技巧都不是特别的了解,因此呢,今天就来为大家分享下关于高效布局:掌握Autolayout代码实现技巧以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
- 创建并添加约束
NSLayoutConstraint *greenRight=[NSLayoutConstraint constrainWithItem:greenView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0constant:-20];
[self.view addConstraint:greenRight];
- 注意
- 拥有父空间后一定要添加约束
- 关闭自动调整大小功能
view.translatesAutoresizingMaskIntoConstraints=NO;
##方法2使用代码实现Autolayout-VFL
- 使用VFL 创建约束数组
//给绿图和红图一个约束,使其高度相同,低电平相同
NSString *cons=@"H:|-margin-[greenView]-margin-[redView(==greenView)]-margin-|";
NSDictionary *views=NSDictionaryOfVariableBindings(greenView,redView);
NSDictionary *metrics=NSDictionaryOfVariableBindings(margin);
NSArray *constrations=[NSLayoutConstraint约束WithVisualFormat:cons选项:NSLayoutFormatAlignAllTop | NSLayoutFormatAlignAllBottom 指标:指标视图:视图];
[self.view addConstraints:constrations];
//设置果岭的高度和距低点的距离
NSNumber *高度=@100;
NSString *cons1=@"V:[greenView(height)]-margin-|";
NSDictionary *metrics1=NSDictionaryOfVariableBindings(高度,边距);
NSArray *constrations1=[NSLayoutConstraint约束WithVisualFormat:cons1选项:kNilOptions指标:指标1视图:视图];
[self.view addConstraints:constrations1];
- format: VFL 语句
- opts:约束类型
- 指标:VFL语句中使用的具体值
- 视图:VFL 语句中使用的控件
使用以下宏自动生成视图和指标参数
NSString *cons=@"H:|-margin-[greenView]-margin-[redView(==greenView)]-margin-|";
NSDictionary *views=NSDictionaryOfVariableBindings(greenView,redView);
NSDictionary *metrics1=NSDictionaryOfVariableBindings(高度,边距)
##使用代码实现Autolayout的方法3-masonry
- 使用步骤
1.将Masonry文件夹的所有源码添加到项目中
2.添加两个宏导入头文件
/只要加上这个宏就不需要前缀mas_
#定义MAS_SHORTHAND
只要加上这个宏,equalTo就相当于mas_equalTo
#define MAS_SHORTHAND_GLOBALS
这个头文件必须放在上面两个宏之后。
#import "Masonry.h"
- 如何添加约束
1.该方法只会添加新的约束
[查看makeConstraints:^(MASConstraintMake *make)
{
}];
2. 该方法将删除所有先前的约束并添加新的约束。
[查看remakeConstraints:^(MASConstraintMake *make)
{
}];
3.该方法会覆盖之前的一些特定约束
[查看updateConstraints:^(MASConstraintMake *make){
}];
1.
- 结局类型
1.尺寸:宽度高度尺寸用途
make.height.mas_equalTo(redView.mas_height);
make.height.mas_equalTo(100);
2.边框:左前右后上下
mark.left.mas_equalTo(self.view.mas_left).offset(50);
mark.right.mas_equalTo(self.view.mas_right).offset(-50);
3、中心点:center centerX centerY
mark.centerX.mas_equalTo(self.view).multipliedBy(1);
mark.centerY.mas_equalTo(self.view).multipliedBy(1);
mark.center.mas_equalTo(self.view);
高效布局:掌握Autolayout代码实现技巧的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、高效布局:掌握Autolayout代码实现技巧的信息别忘了在本站进行查找哦。
【高效布局:掌握Autolayout代码实现技巧】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
一直想学习一下 AutoLayout ,这个方法听起来很方便!
有13位网友表示赞同!
之前试过用代码布局,感觉比拖拽更灵活,这篇文章正好可以学一学。
有6位网友表示赞同!
分享经验和案例总是好事,希望这个文章能够详细讲解代码实现过程。
有10位网友表示赞同!
AutoLayout 用代码实现确实会提高开发效率,期待了解更多技巧!
有12位网友表示赞同!
学习新的 AutoLayout 实现方法,这能帮助我更加熟练地使用 Xcode。
有18位网友表示赞同!
想了解一下用代码实现 AutoLayout 的优缺点?也许这篇文章会有答案。
有16位网友表示赞同!
现在很多app都非常注重界面交互,AutoLayout 用代码实现应该可以更精细地控制界面布局。
有13位网友表示赞同!
这个标题很吸引人,感觉能学到很多实用的技巧!
有7位网友表示赞同!
我对 AutoLayout 还是挺感兴趣的,希望能从这篇博客中了解更多知识。
有10位网友表示赞同!
使用代码实现 AutoLayout 听起来很有挑战性,我也想尝试一下。
有11位网友表示赞同!
Autolayout 确实是一个很重要的技术,掌握了它就能让开发效率更高!
有16位网友表示赞同!
学习新的技巧始终是个好事情,期待一篇高质量的博文分享!
有20位网友表示赞同!
之前一直用拖拽的方式来设置 AutoLayout ,现在尝试用代码实现看看效果怎么样。
有13位网友表示赞同!
AutoLayout 用代码实现可以进行更加个性化的配置,真的很棒!
有18位网友表示赞同!
这个标题让我感到很兴奋,期待阅读这篇详细的文章!
有10位网友表示赞同!
相信这个博客能提供一些实用的 AutoLayout 代码示例和案例分析。
有20位网友表示赞同!
开发过程中遇到的各种布局问题,或许可以用代码实现 AutoLayout 来解决。
有14位网友表示赞同!
想学习如何用代码实现更灵活、高效的 AutoLayout 布局方式。
有6位网友表示赞同!
希望能了解到一些 AutoLayout 用代码实现的最佳实践和技巧!
有14位网友表示赞同!