自动布局是拉伸图像,autolayout,ios

时间:2013-02-17 02:12:41

标签: iphone ios objective-c autolayout nslayoutconstraint

我将uiimageview添加到按钮中:

  1. uiimageview沿y轴居中(刚刚再次编辑)
  2. uiimageview的尾随空格总是距离按钮
  3. 10点

    为了这个目的,我正在做如下的

     // Just added these lines 
        UIImage *img                =   [UIImage imageNamed:@"reload.png"];
        indicator                   =   [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, img.size.width, img.size.width)];
        indicator.image             =   img;
    
        [self.logInButton addConstraints:[NSLayoutConstraint constraintsWithVisualFormat: @"H:|[indicator]-(10)-|"
                                                                                     options:0
                                                                                     metrics:nil
                                                                                       views:NSDictionaryOfVariableBindings(indicator)]];
    
        [self.logInButton addConstraint:[NSLayoutConstraint constraintWithItem:self.logInButton
                                                                  attribute:NSLayoutAttributeCenterY
                                                                  relatedBy:NSLayoutRelationEqual
                                                                     toItem:indicator
                                                                  attribute:NSLayoutAttributeCenterY
                                                                 multiplier:1.0
                                                                   constant:0]];
    

    但是,我得到的是uiimageview正如下面那样延伸

    enter image description here

    有没有人对此有任何想法。所有评论都在这里受到赞赏。

1 个答案:

答案 0 :(得分:0)

您的约束是说图像视图应该与左边缘齐平并且距离右边10个点,因此如果按钮大于图像的大小,图像将会拉伸。您需要将其置于x方向的中心(并消除右侧的一个)或为图像视图设置特定的大小。