【问题标题】:How to center a logo on SideMenu using Xcode如何使用 Xcode 在 SideMenu 上将徽标居中
【发布时间】:2019-03-09 03:31:56
【问题描述】:

我想在 SideMenu 上将徽标居中,这是目前的代码:

  UIImageView *logo =[[UIImageView alloc] init];
    logo.image=[UIImage imageNamed:@"menulogo"];
    logo.contentMode = UIViewContentModeScaleToFill;
    logo.layer.cornerRadius = cornerRadius;
    logo.layer.masksToBounds = YES;
    logo.frame = container.bounds;
    [container addSubview:logo];
    [headerView addSubview:container];

【问题讨论】:

  • 您已将徽标的框架设置为与容器的框架相同,因此它无法居中。

标签: ios objective-c swift xcode xcode8


【解决方案1】:

一个好的解决方案是使用Auto Layout 将您的logo 置于headerView 的中心。它将相应地适应任何 iPhone 屏幕尺寸。

【讨论】:

    【解决方案2】:

    为 UIView 创建一个扩展

    extension UIView {  
    func constraintToMidCenterXY(of view: UIView) {
        translatesAutoresizingMaskIntoConstraints = false
    
        NSLayoutConstraint.activate([centerXAnchor.constraint(equalTo: view.centerXAnchor),
                                     centerYAnchor.constraint(equalTo: view.centerYAnchor))
    }
    

    }

    然后你可以做这样的事情

    logo.constraintToMidCenterXY(of: container)
    

    您也不应该将徽标的框架设置为容器的边界!这是另一个问题

    以上是您可以使用的常用方法,Autolayout。你也可以使用UIStackView

    【讨论】:

      猜你喜欢
      • 2021-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2016-04-29
      • 2011-07-13
      • 1970-01-01
      相关资源
      最近更新 更多