如何使用 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 Layout
将 logo
置于 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
我想在 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 Layout
将 logo
置于 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