Cannot apply addConstraints:NSLayoutConstraint to self.window

74 Views Asked by At

I am trying to add background to status bar.

When i try to add VFL constraint to self.window i get error unexpected interface name: 'NSLayoutConstratint'

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    UIScreen *screen=[[UIScreen alloc]init];

    UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];


    self.window.makeKeyAndVisible;

    application.statusBarStyle = UIStatusBarStyleLightContent;

    UIView *statusBarBackgroundView = [[UIView alloc]init];
    statusBarBackgroundView.backgroundColor = [UIColor colorWithRed:194/255 green:31/255 blue:31/255 alpha:1];

    [self.window addSubview:statusBarBackgroundView];

// Error while adding constraint below

    [self.window addConstraints:NSLayoutConstraint
    constraintsWithVisualFormat:@"H:|[statusBarBackgroundView]|"
                        options:0
                        metrics:nil
                          views:NSDictionaryOfVariableBindings(statusBarBackgroundView)];
1

There are 1 best solutions below

0
On BEST ANSWER

The last line is missing square brackets:

 [self.window addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|[statusBarBackgroundView]|"
                    options:0
                    metrics:nil
                      views:NSDictionaryOfVariableBindings(statusBarBackgroundView)]];