I want to prevent the hour & minute hands on a simple analogue face from covering the date field placed at the traditional 3 o’clock position.
No fancy animation required or attempt to simulate a mechanical design. Date must just never be unreadable.
My solution for the above requirement:
- When the hour or minute hand approaches the 3 o’clock position (say 15 degrees before 90), start moving the date field down as if the hand is “pushing” it ahead until the hand reaches 90 degrees.
- When the hand goes past 90 degrees jump the date field to above to the hand and then move the date field down as if the hand is “dragging” it back to the original position.
- If both the hour and minute hand are close to the 3 o’clock position (shortly before and after 3:15) jump the date field to the 9 o’clock position until it is possible to revert to the above method.
I have managed to get this working in my test face, but my solution feels clunky.
See expressions in my test face below (open for inspection).
Suggestions for a more elegant approach and/or expressions will be appreciated.