README.md in ProMotion-1.1.0.rc1 vs README.md in ProMotion-1.1.0

- old
+ new

@@ -9,29 +9,37 @@ Watch the [September Motion Meetup](http://www.youtube.com/watch?v=rf7h-3AiMRQ) where Gant Laborde interviews Jamon Holmgren about ProMotion! ```ruby +# app/app_delegate.rb class AppDelegate < PM::Delegate def on_load(app, options) open RootScreen.new(nav_bar: true) end end +# app/screens/root_screen.rb class RootScreen < PM::Screen title "Root Screen" - def push_new_screen - open NewScreen + def on_load + set_bar_button :right, title: "Help", action: :push_help_screen end + + def push_help_screen + open HelpScreen + end end -class NewScreen < PM::TableScreen +# app/screens/help_screen.rb +class HelpScreen < PM::TableScreen title "Table Screen" def table_data [{ + title: "Help", cells: [ { title: "About this app", action: :tapped_about }, { title: "Log out", action: :log_out } ] }] @@ -56,34 +64,29 @@ #### ...and much more. # Getting Started -Check out our new [Getting Started Guide](https://github.com/clearsightstudio/ProMotion/wiki/Guide:-Getting-Started) in the wiki! +Check out the [Getting Started Guide](https://github.com/clearsightstudio/ProMotion/wiki/Guide:-Getting-Started) in the wiki! # What's New? -## Version 1.0 +## Version 1.1.x -* **New Screen** [`PM::MapScreen`](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::MapScreen) -* **New Screen** [`PM::WebScreen`](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::WebScreen) -* Added [`indexable`](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::TableScreen#indexable) as a `PM::TableScreen` feature -* Added `PM::SplitViewController` and the ability to open a screen `in_detail:` or `in_master:`. [More info here.](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Screen#openscreen-args--) -* Added `PM::TabBarController` and `PM::Tabs` and refactored the `open_tab_bar` code -* **IMPORTANT:** Changed `on_load` to fire more consistently. You are now encouraged to put your view setup code in here rather than `will_appear`. -* Many methods that used to require long UIKit constants now take short :symbols. Check documentation. -* Simpler `PM::Delegate` code, added `will_load(app, options)` and others. [See the documentation.](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Delegate) -* [Added a few keys and improvements](https://github.com/clearsightstudio/ProMotion/wiki/Reference%3A-All-available-table_data-options) to table_data -* Removed `PM::SectionedTableScreen` (`PM::TableScreen` is already a sectioned table) -* Removed any last UIKit monkeypatching. Everything is a subclass now. ProMotion is probably the least invasive RubyMotion gem in common use. -* Push Notification updates -* Renamed `PM::ViewHelper` to `PM::Styling` and [added some common helpers](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Screen#hex_colorstr) -* Added `will_present`, `on_present`, `will_dismiss`, `on_dismiss` to screens -* Major internal refactors everywhere -* Lots of new unit & functional tests -* Removed deprecations, cleaned up a lot of code -* Huge improvements to the [wiki](https://github.com/clearsightstudio/ProMotion/wiki) +* Added a [ProMotion executable](https://github.com/clearsightstudio/ProMotion/wiki/Command-Line-Tool) called `promotion`. You can type `promotion new <myapp>` and it will create a ProMotion-specific app. We will be adding more functionality in the future. +* Can now pass a symbol to `add`, `add_to`, and `set_attributes` to call a method with that name to get styles. +* Added `button_title:` to `open_split_screen` to [customize the auto-generated button title](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::SplitScreen#open_split_screenmaster-detail-args--) +* Updates to [set_tab_bar_button](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Tabs#set_tab_bar_itemargs) +* Added to PM::Delegate [`on_open_url(args = {})`](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Delegate#on_open_urlargs--) where `args` contains `:url`, `:source_app`, and `:annotation` +* Added to PM::Delegate [`tint_color`](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Delegate#tint_color) to customize the application-wide tint color +* Added to [PM::MapScreen annotations](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::MapScreen) the ability to set an image +* Removed legacy `navigation_controller` references which were causing confusion. +* Allowed setting a `custom_view` for `bar_button_item`s. +* Added `will_begin_search` and `will_end_search` callbacks to PM::TableScreen. +* Added `title_view` and `title_view_height` to sections in PM::TableScreen. +* Updated screenshots for iOS 7 +* Refactored code and lots of new passing tests # Tutorials Shows how to make a basic app in ProMotion. Updated in May. @@ -112,37 +115,16 @@ ### [ProMotion API Reference](https://github.com/clearsightstudio/ProMotion/wiki) # Help -If you need help, feel free to ping me on twitter [@jamonholmgren](http://twitter.com/jamonholmgren) +If you need help, feel free to tweet [@jamonholmgren](http://twitter.com/jamonholmgren) or open an issue on GitHub. Opening an issue is usually the best and we respond to those pretty quickly. +If we don't respond within a day, tweet Jamon or Mark a link to the issue. # Contributing -I'm very open to ideas. Tweet me with your ideas or open a ticket (I don't mind!) -and let's discuss. **It's a good idea to run your idea by the committers before creating -a pull request.** We'll always consider your ideas carefully but not all ideas will be -incorporated. - -## Working on New Features - -1. Clone the repos into `Your-Project/Vendor/ProMotion` -2. Update your `Gemfile`to reference the project as `gem 'ProMotion', :path => "vendor/ProMotion/"` -3. Run `bundle` -4. Run `rake clean` and then `rake` -5. Contribute! - -## Submitting a Pull Request - -1. Fork the project -2. Create a feature branch -3. Code -4. Update or create new specs ** NOTE: your PR is far more likely to be merged if you include comprehensive tests! ** -5. Make sure tests are passing by running `rake spec` *(you can run functional and unit specs separately with `rake spec:functional` and `rake spec:unit`)* -6. Submit pull request to `edge` (for new features) or `master` (for bugfixes) -7. Make a million little nitpicky changes that @jamonholmgren wants -8. Merged, then fame, adoration, kudos everywhere +See [CONTRIBUTING.md](./). ## Primary Contributors * Jamon Holmgren: [@jamonholmgren](https://twitter.com/jamonholmgren) * Silas Matson: [@silasjmatson](https://twitter.com/silasjmatson)