Как сохранить позицию UIView C в UIView A?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как сохранить позицию UIView C в UIView A?

Сообщение Anonymous »

Я хочу переместить UIViewB и сохранить положение всех представлений, как будто ничего не произошло. Я хочу, чтобы viewC вернулся в исходное место до перемещения viewB. Как? Это должно применяться ко всем углам, независимо от того, как вращается viewB. Как мне это сделать?

Код: Выделить всё

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

// Create UIViewA
let viewA = UIView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
viewA.backgroundColor = .red
self.view.addSubview(viewA)

// Create UIViewB
let viewB = UIView(frame: CGRect(x: 150, y: 150, width: 200, height: 200))
viewB.backgroundColor = .green
viewA.addSubview(viewB)

// Create UIViewC
let viewC = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
viewC.backgroundColor = .blue
viewB.addSubview(viewC)

// Initial position of viewC in viewA's coordinate system
let initialCPositionInA = viewC.convert(viewC.bounds.origin, to: viewA)

// Rotate viewB by 45 degrees
viewB.transform = CGAffineTransform(rotationAngle: .pi / 4.5) // 45 degrees

// Calculate the movement delta of viewB
let movementDelta = CGPoint(x: 0, y: -50)

// Move viewB up by -50 pixels
viewB.center = CGPoint(x: viewB.center.x, y: viewB.center.y + movementDelta.y)

// I want viewC back to the original place before viewB is moved how ? This must apply to all angles regardless how viewB rotate
}
}
Я пробовал много разных решений, перемещая позицию y UIViewC, но он возвращает странные результаты, поскольку к UIViewB применяется преобразование, которое также применяется к UIViewC.

Подробнее здесь: https://stackoverflow.com/questions/787 ... n-uiview-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»