It's actually for the y axis, so the if statements shouldn't have the "!". Anyway, I'm still not getting it... The text is being displayed in two lines, but this frame height setting is giving me a label with half the height of one line (so there is only half a line being displayed).
I tried to change this line that sets the height with the following:
frame.size.height = frame.size.height * 2;
This way I get the two-line label showing just fine, but I can't get it centered with each bar.