Почему мои UIView
получили разные позиции на разных размерах экрана iPhone? Я думаю, это из-за autoresizingMask
, но как я могу получить кадр представления после применения autoresizingMask
, чтобы создать универсальную логику? или как лучше всего справиться с этим?Почему мой UIView получил другую позицию на разных iPhone?
вот код:
private func setup() {
positionView = CircularProjectPositionControl(frame: self.bounds)
positionView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
positionView.outerCircleWidth = outerCircleWidth
assetsView = CircularProjectAssetsControl(frame: self.bounds)
assetsView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
assetsView.backgroundColor = UIColor.clearColor()
assetsView.imageWidth = outerCircleWidth
let size = CGSize(width:40, height:40)
let width = floor(CGRectGetMidX(self.bounds) - size.width/2.0)
let height = floor(CGRectGetMidY(self.bounds) - size.width/2.0)
collaboratorView = AvatarView(frame: CGRect(x: width, y: height, width: size.width, height: size.height))
collaboratorView.autoresizingMask = [.FlexibleBottomMargin, .FlexibleLeftMargin, .FlexibleRightMargin]
self.addSubview(assetsView)
self.addSubview(positionView)
self.addSubview(collaboratorView)
}
Почему вы делаете это программно? Это будет намного проще с использованием ограничений автоматической компоновки в Storyboard –
@ matt.writes.code. Я не могу использовать раскадровку здесь –