Позиционировать вид относительно другого вида, используя RMQ
Я начинаю сегодня использовать RMQ для моего проекта RubyMotion. Я прочитал документацию системы фрейма / сетки, но не могу найти способ позиционирования вида, связанного с другим видом.
У меня есть 4 кнопки с изображением внутри. Я хочу разместить UILabel под каждой кнопкой по центру.
Я не использую сетку, я помещаю свою кнопку с рамкой:
def quiz_button(st)
st.background_color = color.white
st.frame = {l: 40, t: 160, w: 120, h: 120}
st.image_normal = image.resource('sailboat')
st.image_selected = image.resource('sailboat_selected')
end
В MotionKit у меня есть "frame below(:username_input, down: 8)"
поэтому я могу поместить представление под конкретное представление, в RMQ я не могу найти то, что поможет мне сделать то же самое.
1 ответ
Если они в порядке (имеется в виду братья и сестры друг друга и один за другим), вы можете использовать below_prev: 8
, выше_prev, right_of_prev и т. д. (bp:, ap:, rop: для сокращений).
Чтобы получить конкретное представление, вы можете использовать rmq обычным способом: rmq(:username_input).frame.bottom)
, .frame
возвращает экземпляр RubyMotionQuery::Rect, который имеет множество свойств, таких как bottom и right.
Так:
st.frame = {l: 40, bp: 8, w: 120, h: 120}
Или же
st.frame = {l: 40, t: rmq(:username_input).frame.bottom + 8, w: 120, h: 120}