Comments (7)
I think that the table is created somewhere after the on_load
is called, I would use something like:
class MenuScreen < PM::TableScreen
def view_will_appear(animated)
super
view.backgroundColor = :red.uicolor
end
end
from promotion.
Worked. Thanks!
from promotion.
No worries, glad to help. Love PM :)
from promotion.
I would recommend using will_appear
rather than view_will_appear(animated)
unless you need to know if the view will be animated. It gets called by view_will_appear
anyway and doesn't need a call to super
.
class MenuScreen < PM::TableScreen
def will_appear
view.backgroundColor = :red.uicolor
end
end
on_load
is actually not a very good event to be setting up your view on either Screen
or TableScreen
since it fires too early in the process.
Now, one thing to consider is that will_appear
(and view_will_appear(anim)
) will fire multiple times if you're flipping back and forth between it and another view. So if you want to avoid adding elements multiple times, set up something like this:
class MenuScreen < PM::TableScreen
def will_appear
@view_setup ||= begin
view.backgroundColor = :red.uicolor
true
end
end
end
This will only set up your view once.
We may want to build in a dedicated view setup method that gets called only once and allows you to create your views. Thoughts on that? Example:
class MenuScreen < PM::TableScreen
def setup
view.backgroundColor = :red.uicolor
end
end
Open to other names, if this sounds like a good idea.
from promotion.
Always a help @jamonholmgren, Thanks for this awesome gem!
from promotion.
You bet -- glad it's been useful!
from promotion.
I'm going to table the setup
method for now. It's an interesting idea but does run the risk of making ProMotion too automagical. One of the guidelines I loosely follow with ProMotion is the idea of making iOS development more ruby-like while not completely reinventing the paradigm...hence the Screen -> UIViewController equivalence, on_load roughly like viewDidLoad, etc.
But I'm open to the setup
method if it would be useful and not too confusing to beginners.
from promotion.
Related Issues (20)
- Unable to position a TableView by using frame style HOT 4
- ProMotion lifecycle methods running out of order HOT 1
- Unable to add remote image to nav_bar button HOT 3
- Switching to Screen if already open HOT 2
- How to scroll TableScreen to bottom programatically? HOT 2
- Change tab_bar backgroundcolor HOT 2
- Remote images not showing on first load of Table Screen HOT 3
- use custom class for open_tab_bar HOT 1
- Image picker crashes in iOS10 HOT 1
- 'live' and 'pm_live' don't work anymore with version 4.13 HOT 10
- app delegate methods never called HOT 2
- Error can't convert CommentScreen into String (TypeError) HOT 5
- CollectionScreen crashes after reloading data HOT 1
- Cynical dependencies HOT 3
- Circular dependencies on High Sierra HOT 11
- search_text no longer works
- uninitialized constant ProMotion::UITabBarController (NameError) HOT 6
- Regression: WebScreen synchronous javascript execution
- Regression (or simply failing test): table screen `on_reuse` is not called after scrolling
- Ruby 2.6 deprecations removed in Ruby 2.7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from promotion.