{"id":15684484,"url":"https://github.com/markrickert/promotiontwoscreensinone-example","last_synced_at":"2026-02-27T02:32:24.894Z","repository":{"id":10350737,"uuid":"12487831","full_name":"markrickert/PromotionTwoScreensInOne-Example","owner":"markrickert","description":"An example Promotion (RubyMotion) application that shows how to use two PM::Screen instances in a master screen.","archived":false,"fork":false,"pushed_at":"2018-09-24T22:39:31.000Z","size":168,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-23T00:32:27.738Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markrickert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-08-30T14:06:38.000Z","updated_at":"2025-02-06T04:43:59.000Z","dependencies_parsed_at":"2022-09-22T19:01:12.045Z","dependency_job_id":null,"html_url":"https://github.com/markrickert/PromotionTwoScreensInOne-Example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/markrickert/PromotionTwoScreensInOne-Example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markrickert%2FPromotionTwoScreensInOne-Example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markrickert%2FPromotionTwoScreensInOne-Example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markrickert%2FPromotionTwoScreensInOne-Example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markrickert%2FPromotionTwoScreensInOne-Example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markrickert","download_url":"https://codeload.github.com/markrickert/PromotionTwoScreensInOne-Example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markrickert%2FPromotionTwoScreensInOne-Example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29883102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"online","status_checked_at":"2026-02-27T02:00:06.759Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T17:17:47.991Z","updated_at":"2026-02-27T02:32:24.852Z","avatar_url":"https://github.com/markrickert.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"PromotionTwoScreensInOne-Example\n===\n\nSummary\n---\n\nAn example Promotion (RubyMotion) application that shows how to use two PM::Screen instances in a master screen and communicate between them.\n\nMore in depth\n---\n\nThis example uses [ProMotion](https://github.com/clearsightstudio/ProMotion). We create one [PM::Screen](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Screen) and initialize two other PM::Screen subclasses and set all their attributes. Then when we lay out the the main view controller, we add the two PM::Screen's respective views to the main screen.\n\nThis app is a map with a tableview under it that lists out all the states. You can tap a state and the map will animate and zoom to encompass the entire state. This app also showcases Apple's reverse geocoding api very nicely since I'll I'm doing to get the map coordinates and region is asking Apple where \"State, USA\" is and it returns back all the relevant data for me to use.\n\nMaking the screens talk to each other\n---\n\nYou can see how I'm passing messages from the [PM::TableScreen](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::TableScreen) to the [PM::MapScreen](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::MapScreen) using the `attr_accessor :container` to pass in `self` and therefore allow messages to be easily sent to the main view controller to manupilate both screens.\n\nScreenshots\n---\n\n![Screenshot 1](http://i.imgur.com/adV1Zm3.png)\n\n![Screenshot 2](http://i.imgur.com/eeAgpLt.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkrickert%2Fpromotiontwoscreensinone-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkrickert%2Fpromotiontwoscreensinone-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkrickert%2Fpromotiontwoscreensinone-example/lists"}