网站大量收购独家精品文档,联系QQ:2885784924

AutoLayout通过代码添加约束.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AutoLayout通过代码添加约束

Auto Layout:通过代码添加约束 这里为Button与View之间的约束(视图之间的约束与此类同,具体不同请参考Auto Layout 入门:可视格式语言和/kf/201403/282699.html) 效果如图: ? 按cmd+- 使界面横屏。 ? 我们先创建第一个按钮,并把它放在界面的左上角。在viewController.m中创建如下实例变量 ? @implementationViewController? {? ??UIButton?*firstButton;? } 在viewDidLoad中创建这个按钮,并把它添加到view中 - (void)viewDidLoad? {? ? [superviewDidLoad]; ? ??firstButton?= [UIButtonbuttonWithType:UIButtonTypeRoundedRect]; ? [firstButton?setTitle:@FirstforState:UIControlStateNormal];? ? [firstButton?sizeToFit];? ??firstButton.translatesAutoresizingMaskIntoConstraints?=?NO; ? ? [self.view?addSubview:firstButton]; } 设置translatesAutoresizingMaskIntoConstraints属性为NO,用来禁止AutoresizingMask转换成AutoLayout,简单来说,Autoresizing和AutoLayout用的不是一套东西,但是默认情况下是相互转换的,这里我们要指定使用AutoLayout系统,所以要禁止自动转换。这个属性是为了向后兼容。我们将添加一个左边约束,于是这个按钮会在view中移动20个点。把下面的代码添加到viewDidLoad下面。 ? NSLayoutConstraint?*constraint?= [NSLayoutConstraint?constraintWithItem:firstButton?attribute:NSLayoutAttributeLeading?relatedBy:NSLayoutRelationEqualtoItem:self.view?attribute:NSLayoutAttributeLeading?multiplier:1.0f?constant:20.f]; ? [self.view?addConstraint:constraint]; Auto Layout用一个公式来计算界面之间的关系: A = B * m + c 或者 viewA.attribute = viewB.attributs*multiplier + constant 在这个例子中公式如下: ? firstButton.NSLayoutAttributeLeading = self.view.NSLayoutAtrributeLeading * 1.0f + 20f 按钮左边的位置等于父视图左边距减掉20. 把下面的约束添加到viewDidLoad里 constraint?=[NSLayoutConstraint?constraintWithItem:firstButton?attribute:NSLayoutAttributeTop?relatedBy:NSLayoutRelationEqualtoItem:self.view?attribute:NSLayoutAttributeTop?multiplier:1.0f?constant:30.f]; [self.view?addConstraint:constraint]; 该约束将会使按钮距离父视图上面30个点。Build and Run。这个按钮距离左边20个点,上面30个点 ? 按 cmd+- 使界面横屏。 ? 在interface中创建一个新的实例变量 ? UIButton?*secondButton; 在viewDidLoad中添加下面的代码,在view中添加第二个按钮。 ? secondButton?= [UIButton?buttonWithType:UIButtonTypeRoundedRect]; [secondButton?setTitle:@SecondforState:UIControlStateNormal];? [secondButton?sizeToFit];? secondButton.translatesAutoresizingMaskIntoConstraints?=NO; ? [self.view?addSubview:secondButton]; 这个

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档