我想将徽标放在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];
答案 0 :(得分:1)
创建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
答案 1 :(得分:0)
一个好的解决方案是使用Auto Layout
将logo
居于headerView
的中心。它将相应地适应任何iPhone屏幕尺寸。