iOS 11 UIBarButtonItem ImageView大小错误

时间:2017-09-25 11:29:14

标签: ios image size uinavigationbar ios11

今天早上你好,iOS 11我发现了很多我在iOS 10中没有的错误。我已经纠正了除了两个错误之外的大多数错误,这里的profil图像

代码按钮:

UIImageView* v = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
    v.image = img;
    v.layer.masksToBounds = YES;
    v.layer.cornerRadius = 17.5;

    UIBarButtonItem* rightBtn = [[UIBarButtonItem alloc] initWithCustomView:v];
    self.navigationItem.rightBarButtonItem = rightBtn;

///// iOS 10 /////

enter image description here

///// iOS 11 /////

enter image description here

5 个答案:

答案 0 :(得分:2)

在iOS 11中,您必须使用我们的自动布局而不是帧

如下所示

    myButton.widthAnchor.constraint(equalToConstant: customViewButton.width).isActive = true
    myButton.heightAnchor.constraint(equalToConstant: customViewButton.height).isActive = true

答案 1 :(得分:0)

我修好了 使用以下代码:

[v.widthAnchor constraintEqualToConstant:35].active = YES;

[v.heightAnchor constraintEqualToConstant:35].active = YES;

答案 2 :(得分:0)

我使用UI按钮解决了这个问题。

答案 3 :(得分:0)

@victor bill的答案就像魅力一样,但我想提一点,如果你没有先为按钮设置框架,这就不行了。 设置宽度和高度锚点使按钮在我的应用程序中完全消失。

v =  [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
[v.widthAnchor constraintEqualToConstant:35].active = YES;
[v.heightAnchor constraintEqualToConstant:35].active = YES;

答案 4 :(得分:0)

如果您想为图像/按钮/ UIView设置固定大小,这是Swift 4代码:

    yourButton.widthAnchor.constraint(equalToConstant: 100.0).isActive = true
    yourButton.heightAnchor.constraint(equalToConstant: 30.0).isActive = true

您必须使用两个约束手动设置宽度和高度,并将它们设置为活动状态。