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)