自动布局,插入以填充容器视图 [英] Auto layout, inserted view to fill the container view

查看:231
本文介绍了自动布局,插入以填充容器视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我'试图使插入视图,以填补在它被插入容器视图,但是IAM获得

无效的参数并不令人满意:[约束isKindOfClass:[NSLayoutConstraint类]

   - (无效)insertedView:(*的NSView)insertedView needsToFillContainerView:(*的NSView)containerView {    [containerView addSubview:insertedView];
    [containerView setTranslatesAutoresizingMaskIntoConstraints:NO];    [containerView addConstraints:@​​ [
                                    [NSLayoutConstraint constraintsWithVisualFormat:@H:| [insertedView] |
                                                                            选项​​:0
                                                                            指标:无
                                                                              观点:NSDictionaryOfVariableBindings(insertedView)]
                                    [NSLayoutConstraint constraintsWithVisualFormat:@V:| [insertedView] |
                                                                            选项​​:0
                                                                            指标:无
                                                                              观点:NSDictionaryOfVariableBindings(insertedView)
                                    ]
    ];}

基本上,一个视图我想要插入从VC装


解决方案

   - (无效)addSubview:(*的NSView)insertedView fillingAndInsertedIntoView:(*的NSView)containerView {    [containerView addSubview:insertedView];
    [insertedView setTranslatesAutoresizingMaskIntoConstraints:NO];    [containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@H:| [insertedView] |
                                                                            选项​​:0
                                                                            指标:无
                                                                            观点:NSDictionaryOfVariableBindings(insertedView)];
    [containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@V:| [insertedView] |
                                                                          选项​​:0
                                                                          指标:无
                                                                            观点:NSDictionaryOfVariableBindings(insertedView)];    [containeView layoutIfNeeded]
}

I'am trying to make the inserted view to fill the container view in which it is inserted, however iam getting

Invalid parameter not satisfying: [constraint isKindOfClass:[NSLayoutConstraint class]]

- (void)insertedView:(NSView *)insertedView needsToFillContainerView:(NSView *)containerView {

    [containerView addSubview:insertedView];
    [containerView setTranslatesAutoresizingMaskIntoConstraints:NO];

    [containerView addConstraints:@[
                                    [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[insertedView]|"
                                                                            options:0
                                                                            metrics:nil
                                                                              views:NSDictionaryOfVariableBindings(insertedView)],
                                    [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[insertedView]|"
                                                                            options:0
                                                                            metrics:nil
                                                                              views:NSDictionaryOfVariableBindings(insertedView)]
                                    ]
    ];

}

Basically the one view i want to insert is loaded from a VC

解决方案

- (void)addSubview:(NSView *)insertedView fillingAndInsertedIntoView:(NSView *)containerView {

    [containerView addSubview:insertedView];
    [insertedView setTranslatesAutoresizingMaskIntoConstraints:NO];

    [containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[insertedView]|"
                                                                            options:0
                                                                            metrics:nil
                                                                            views:NSDictionaryOfVariableBindings(insertedView)]];
    [containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[insertedView]|"
                                                                          options:0
                                                                          metrics:nil
                                                                            views:NSDictionaryOfVariableBindings(insertedView)]];

    [containeView layoutIfNeeded];
}

这篇关于自动布局,插入以填充容器视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆