Я использую ios 9 sdk. Я создал этот вид настройки иерархии с autoloayout:Преобразование UIView, автозапуск и точка привязки
----- Top
| 30
----- CustomView (A)
|
|
-----
| 0
----- Bot
Я пытаюсь создать второй CustomView (назовем его B) за первый (назовем его A), масштабируемого на 80% в обоих направлениях, и выше на 5 очков. Таким образом, видна только верхняя часть B.
Это должно быть легко, но это не так. Применяя перевод -5 пунктов и масштабирование .8 на B перемещается B вниз, а не вверх, потому что автоопределение, кажется, использует опорную точку (установленную по умолчанию по умолчанию) в позицию B: кажется, что она обнаруживает, что масштабирование было применено и новички B вертикально - перемещение вниз.
Изменение точки привязки на (x = 0,5, y = 1) перемещает A и B на половину их размера, я не понимаю, почему. Поэтому проблема не устраняется.
Любая идея?
Edit: некоторый код
var card = new CardView();
InsertSubview(card, 0);
card.TranslatesAutoresizingMaskIntoConstraints = false;
this.AddConstraints(
card.AtTopOf(this, 30),
card.WithSameWidth(this).WithMultiplier(.95f),
card.WithSameCenterX(this),
card.AtBottomOf(this)
);
var transform = CGAffineTransform.MakeTranslation(0, -10);
transform.Scale(.8f,.8f);
Transform = transform;
Результат: карта не 20pts сверху, это примерно 50pts, кроме своего первоначального положения 30pt.
Не получая ваш вопрос правильно! что вы хотите точно? – Lion
Укажите код, используемый для создания и добавления представлений. Вероятно, у вас есть правильный диагноз, например. опорная точка является средней, поэтому масштабирование сокращается в «неправильном» направлении, но трудно предложить исправление, не видя, что вы делаете. – jrturton
Код использует Xamarin, на C#, поэтому он не читается всеми. – Softlion