繁体   English   中英

Objective-C水平添加更多UIButton

[英]Objective-C add more UIButton horizontally

我正在使用开源UIAlertView .View是

在此处输入图片说明

我想在水平方向上添加更多按钮,一个在左侧,另一个在右侧的BYE按钮上,像这样

在此处输入图片说明

我使用的源代码如下

-(void)popUPView{

    UIView* contentView = [[UIView alloc] init];
    contentView.translatesAutoresizingMaskIntoConstraints = NO;
    contentView.backgroundColor = [UIColor klcLightGreenColor];
    contentView.layer.cornerRadius = 12.0;

    UILabel* dismissLabel = [[UILabel alloc] init];
    dismissLabel.translatesAutoresizingMaskIntoConstraints = NO;
    dismissLabel.backgroundColor = [UIColor clearColor];
    dismissLabel.textColor = [UIColor whiteColor];
    dismissLabel.font = [UIFont boldSystemFontOfSize:32.0];
    dismissLabel.text = @"Hi.";

    UIButton* dismissButton = [UIButton buttonWithType:UIButtonTypeCustom];
    dismissButton.translatesAutoresizingMaskIntoConstraints = NO;
    dismissButton.contentEdgeInsets = UIEdgeInsetsMake(10, 20, 10, 20);
    dismissButton.backgroundColor = [UIColor klcGreenColor];
    [dismissButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [dismissButton setTitleColor:[[dismissButton titleColorForState:UIControlStateNormal] colorWithAlphaComponent:0.5] forState:UIControlStateHighlighted];
    dismissButton.titleLabel.font = [UIFont boldSystemFontOfSize:16.0];
    [dismissButton setTitle:@"Bye" forState:UIControlStateNormal];
    dismissButton.layer.cornerRadius = 6.0;

    [contentView addSubview:dismissLabel];
    [contentView addSubview:dismissButton];


    NSDictionary* views = NSDictionaryOfVariableBindings(contentView, dismissButton, dismissLabel);

    [contentView addConstraints:
     [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(16)-[dismissLabel]-(10)-[dismissButton]-(24)-|"
                                             options:NSLayoutFormatAlignAllCenterX
                                             metrics:nil
                                               views:views]];


    [contentView addConstraints:
     [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(36)-[dismissLabel]-(36)-|"
                                             options:0
                                             metrics:nil
                                               views:views]];




    KLCPopup *popup = [KLCPopup popupWithContentView:contentView
                                            showType:KLCPopupShowTypeShrinkIn
                                         dismissType:KLCPopupDismissTypeShrinkOut
                                            maskType:KLCPopupMaskTypeDimmed
                            dismissOnBackgroundTouch:TRUE
                               dismissOnContentTouch:FALSE];


      [popup show];



}

请您帮我解决这个问题。 谢谢提前

为此,您必须设置适当的前导/尾随值,

leftView.trailing = rightView。Lead

例如,如果您想将新视图向右对齐,则可以执行以下操作

            UIView *viewToAllign = yourView;

            UIView *view = [[UIView alloc] init];
            imageViewOn.translatesAutoresizingMaskIntoConstraints = NO;
            [self.view addSubview:view];
            NSLayoutConstraint *leading = [NSLayoutConstraint constraintWithItem:view
                                                                  attribute:NSLayoutAttributeLeading
                                                                  relatedBy:NSLayoutRelationEqual
                                                                     toItem:viewToAllign
                                                                  attribute:NSLayoutAttributeTrailing
                                                                 multiplier:1
                                                                   constant:SPACING_BETWEEN_VIEWS];

或者如果您想在左侧对齐,只需切换布局属性

UIView * viewToAllign = yourView;

            UIView *view = [[UIView alloc] init];
            imageViewOn.translatesAutoresizingMaskIntoConstraints = NO;
            [self.view addSubview:view];
            NSLayoutConstraint *leading = [NSLayoutConstraint constraintWithItem:view
                                                                  attribute:NSLayoutAttributeTrailing
                                                                  relatedBy:NSLayoutRelationEqual
                                                                     toItem:viewToAllign
                                                                  attribute:NSLayoutAttributeLeading
                                                                 multiplier:1
                                                                   constant:SPACING_BETWEEN_VIEWS];

然后必须在此之后创建其他约束(高度,宽度,顶部和底部),然后可以将约束添加到容器视图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM