我有UIImageView,我想把它对齐到右边。但我试着从搬家开始:
let imageView = UIImageView(image: UIImage(named: "icon_delete"))
var rect = imageView.frame
rect.origin.x += 100
imageView.frame = rect
photosViewController.overlayView.bottomStackContainer.addSubview(imageView)但它似乎不起作用,图像被设置在左侧:

怎么啦?
发布于 2019-03-29 18:52:12
尝试使用自动布局锚点
imageView.leadingAnchor.constraint(equalTo: bottomStackContainer.leadingAnchor, constant: 100).isActive = truebottomStackContainer是stackView吗?然后,您应该通过.addArrangedSubview()方法添加排列好的子视图。
发布于 2019-03-29 19:06:15
尝试使用setNeedsDisplay()方法重绘视图。
参考:https://www.hackingwithswift.com/example-code/uikit/how-to-force-a-uiview-to-redraw-setneedsdisplay
发布于 2019-04-03 05:31:56
首先,假设:
photosViewController.overlayView.bottomStackContainer是一个视图(我在代码片段中将其称为containingView ),请尝试如下所示:
let imageView = UIImageView(image: UIImage(named: "icon_delete"))
containingView.addSubview(imageView)
imageView.translatesAutoresizingMaskIntoConstraints = false
containingView.translatesAutoresizingMaskIntoConstraints = false
imageView.trailingAnchor.constraint(equalTo: containingView.trailingAnchor).isActive = true如果您需要将图像从尾部边缘向左移动,您可以:
imageView.trailingAnchor.constraint(equalTo: containingView.trailingAnchor, constant: -10).isActive = true或者无论你需要把它移动到什么程度。注意:如果您忘记在两个视图上将自动调整大小掩码设置为false,您将得到一个运行时错误。
https://stackoverflow.com/questions/55415263
复制相似问题