У меня есть UILabel
, который находится на моей раскадровке с помощью AutoLayout. (Ограничения включают высоту, ширина и центр по горизонтали и вертикальный интервал от верхнего).Центр динамически созданного UIView над UILabel в раскадровке не работает
У меня есть UIView
, что делает круг с помощью метода drawRect
с использованием UIBeizerPath
.
Ничего особенного пока.
Для простоты я использую жестко закодированные номера, чтобы помочь проиллюстрировать мою проблему.
Теперь я хочу, чтобы CircleView располагался над UILabel
, центрируя метку по кругу.
Однако я не могу получить что-либо, чтобы правильно подобрать его. Его как якорные точки или что-то в порядке.
Я попытался установить центральную точку CircleView в центр метки. Не повезло.
Я попытался установить CircleViews X в положение метки минус ширина, деленная на два. Не повезло.
Ближайшее, что я могу получить, это координата Y. Я использую label.center.y - 52.5 (половина радиуса).
cv = [[CircleView alloc] initWithFrame:CGRectMake(WHATHERE.x, WHATHERE.y,
155, 155)];
cv.radius = 75;
cv.strokeWidth = 5;
Радиус окружности равен 75. Ширина/высота CircleView составляет 155, потому что ход окружности равен 5. (радиус х 2) + 5, которые дают мне вид вы видите с кругом.
Темный фон вид тренажера IOS. Я добавил цвета фона для каждого из элементов, чтобы отличить их размер.
Через магию Photoshop здесь является то, что я пытаюсь сделать:
Где вы создаете и добавляете личный круг? Я имею в виду, какой метод. Возможно ли это в 'viewDidLoad' – uchiha
Да, я запускаю CircleView в viewDidLoad –