如何使用 Xcode 将徽标置于侧边菜单的中央

How to center a logo on SideMenu using Xcode

我想在 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];

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

创建 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