class ViewController: UIViewController {
@IBOutlet var friendsButton: UIImageView! //Friends Button
@IBOutlet var circleButton: UIImageView! //Circle Button
@IBOutlet var profileButton: UIImageView! //Profile Button
@IBOutlet var whiteBoxSelector: UIImageView! //White Box Selector
override func viewDidLayoutSubviews() {
whiteBoxSelector.center = self.friendsButton.center //line that doesn't seem to run properly
}
}
Когда я запустил это, мой whiteBoxSelector
переместится к кнопке друзей, но только по оси y, а позиция x - 0. Я не установил никаких ограничений для белого ящика, а мои кнопки находятся в виде стека.
Свойство центра представления указывает:
Центр рамы.
Центр задается в системе координат его надзора и измеряется в точках. Установка этого свойства соответственно изменяет значения свойств кадра.
Ваш вопрос о том, что whiteBoxSelector
и friendsButton
не одни и те же superview
, поэтому системы координат не совпадают. Вам нужно перевести center
в friendsButton
от системы координат friendsButton
(ее надтаблицы) в системе координат whiteBoxSelector
(ее SuperView).
override func viewDidLayoutSubviews() {
whiteBoxSelector.center = whiteBoxSelector.superview.convert(friendsButton.center, from: friendsButton.superview)
}