Lyt 0.6

Lyt 0.6

测试已测试
语言语言 Obj-CObjective C
许可证 Apache 2
发布最后发布2014年12月

Hermes Pique维护。



Lyt 0.6

Build Status

对UIView、NSView、UIViewController和NSArray进行分类,使自动布局(更具)易读性和简洁性。适用于iOS和OS X。

更简洁的语义表示

Lyt 允许你表达约束的意图。像这样写:

[view lyt_centerInParent];

而不是这样:

NSLayoutConstraint *centerXConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:view.superview attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:0];
[view.superview addConstraint:centerXConstraint];

NSLayoutConstraint *centerYConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:view2 attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0];
[view.superview addConstraint:centerYConstraint];

或是这样:

[@[userField, passwordField, repeatPasswordField] lyt_distributeYWithSpacing:10];

而不是这样:

NSDictionary *views = NSDictionaryOfVariableBindings(userField, passwordField, repeatPasswordField);
NSDictionary *metrics = @{@"spacing" : @(10)};
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[userField]-spacing-[passwordField]-spacing-[repeatPasswordField]" options:kNilOptions metrics:metrics views:views];
[view.superview addConstraints:constraints];

为代码补全而设计

输入lyt_然后所需的布局操作(例如,center)来查看可用的选项。

Code completion screenshot

Lyt提供了数百个便利方法。当前的系列包括

  • lyt_align*
  • lyt_center*
  • lyt_place*
  • lyt_distribute*
  • lyt_set*
  • lyt_match*

支持动态布局

每个Lyt方法返回相应的约束或约束集,您可以对它们进行修改或从视图层次结构中删除。

NSLayoutConstraint *leftConstraint = [view lyt_alignLeftToParent];
// Later...
leftConstraint.constant = 10; 

此外,每个方法都有一个等效方法,它不会将约束添加到视图层次结构中,这对于动态自动布局或设置优先级(因为必须在向视图层次结构添加约束之前设置优先级)非常有用。例如

_labelLeftConstraint = [_label lyt_constraintByAligningLeftToParent];
_labelLeftConstraint.priority = UILayoutPriorityDefaultLow;
// Later...
[self.view addConstraint:_labelLeftConstraint]; 

布局向导

Lyt 为 UIViewController 提供了一个类别以利用布局向导(仅限iOS)。

[viewController lyt_alignTopGuideAndView:titleView];

安装

使用 CocoaPods

pod 'Lyt', '~> 0.6'

或者,如果您手动进行,添加来自 Lyt 目录的文件。

许可证

版权所有 2014 Robot Media SL

根据Apache许可证2.0版本(“许可证”);除非为本许可证附录所述,或者书面同意,否则不得使用此文件。您可以在以下位置获得许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非根据适用法律要求或书面同意,否则在许可证下分发的软件按“原样”提供,不提供任何明确的或隐含的保证或条件。请参阅许可证以了解规管许可的使用权和限制。