Now the official RubyMotion newsletter

The Dispatch is now the official newsletter for RubyMotion. What does this mean to you the reader? Good question — not much. Nothing is changing in the Dispatch, I’m still writing it, it’s still a product of my company InfiniteRed. The main difference is: instead of HipByte creating their own newsletter, they are going to direct their customers to the Dispatch instead.

Also, some announcements will be done in the Dispatch rather than in an email from HipByte. Also (that vein on the grammarians’ forehead is now pulsing like the siren of an ambulance, speeding through downtown London) other community efforts, such as Motion Meetup, will make their announcements through the Dispatch.

Happy coding, Todd Werth (@twerth)

Articles, News, New Gems, and Blog Posts

Poll of the Week


No poll this week, here are the results from last week’s poll, “Which sections of the Dispatch do you like?”:

  • Articles, News, and Blog Posts –  9 votes (13%)
  • RubyMotion Tip –  9 votes (13%)
  • RubyMotion News – 8 votes (12%)
  • Editorial at the top –  7 votes (10%)
  • Poll of the Week –  7 votes (10%) – this is meta 🙂
  • RubyMotion App of the Week – 7 votes (10%)
  • RMQ Tip –  7 votes (10%)
  • iOS Control of the Week –  5 votes (7%)
  • One more thing –  5 votes (7%)
  • RMQ News –  3 votes (4%)

RubyMotion App of the Week


Lifter – “Record your workouts the way you want with Lifter app”

Max Page, a reader of the Dispatch, suggested his app Lifter for this week. Go show him some community love.

RMQ Tip


Traversing (or moving around the tree)

You can easily move around the tree with RMQ. See last week’s tip for some basic traversing. This week we’ll do some more, both simple and advanced:

The mysterious “back”
Back is interesting, because it moves you “back” to the last selected views. This is handy when you traverse into the children of a view, then want to come back up to the view again. Here is an example where you are tagging different types of children:
rmq(test_view).find(UIImageView).tag(:foo).back.find(UILabel).tag(:bar)

all
All returns all views
rmq.all.log

and and not
These add or remove views based on selectors:
rmq(test_view).find(UIImageView).and(UILabel).hide
rmq(test_view).find(UIImageView).not(this_particular_view).hide
rmq(test_view).find(UIImageView).not(image: some_image).show

and_self
Adds self to the selected views. This example gets all children/grandchildren/etc and the view itself, then throbs them:
rmq(test_view).find.and_self.animations.throb

One more thing


While wandering around the tubes of the Internet (I’ve almost reached the end, I think), I found a few interesting tools: