Objective c 如何添加UIView并覆盖整个屏幕

Objective c 如何添加UIView并覆盖整个屏幕,objective-c,xcode,autolayout,Objective C,Xcode,Autolayout,我试图添加一个灰色的uiview覆盖使用自动布局,以便当你旋转设备时,它仍然自动覆盖整个屏幕。如何通过编程实现这一点?试试以下方法: UIView *greyView = [UIView new]; [self.view addSubview:greyView]; greyView.translatesAutoresizingMaskIntoConstraints = NO; NSDictionary *viewDictionary = @{@“greyView”:greyView}; [se

我试图添加一个灰色的uiview覆盖使用自动布局,以便当你旋转设备时,它仍然自动覆盖整个屏幕。如何通过编程实现这一点?

试试以下方法:

UIView *greyView = [UIView new];
[self.view addSubview:greyView];
greyView.translatesAutoresizingMaskIntoConstraints = NO;
NSDictionary *viewDictionary = @{@“greyView”:greyView};

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[myView]-0-|“ options:0 metrics:nil views:viewDictionary]];

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@“H:|-0-[myView0]-0-|” options:0 metrics:nil views:viewDictionary]];
试试这个:

UIView *greyView = [UIView new];
[self.view addSubview:greyView];
greyView.translatesAutoresizingMaskIntoConstraints = NO;
NSDictionary *viewDictionary = @{@“greyView”:greyView};

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[myView]-0-|“ options:0 metrics:nil views:viewDictionary]];

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@“H:|-0-[myView0]-0-|” options:0 metrics:nil views:viewDictionary]];

这很简单,您需要4个约束条件才能做到这一点-顶部、底部、左侧和右侧:

NSLayoutConstraint *topConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeTop multiplier:1.0f constant:0.0f];
NSLayoutConstraint *bottomConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeBottom multiplier:1.0f constant:0.0f];
NSLayoutConstraint *leftConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeLeft multiplier:1.0f constant:0.0f];
NSLayoutConstraint *rightConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeRight multiplier:1.0f constant:0.0f];

这很简单,您需要4个约束条件才能做到这一点-顶部、底部、左侧和右侧:

NSLayoutConstraint *topConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeTop multiplier:1.0f constant:0.0f];
NSLayoutConstraint *bottomConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeBottom multiplier:1.0f constant:0.0f];
NSLayoutConstraint *leftConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeLeft multiplier:1.0f constant:0.0f];
NSLayoutConstraint *rightConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeRight multiplier:1.0f constant:0.0f];