How to make an iPhone skin app?

I asked the client to make a “skin app” and I really don't know what that means. I looked like crazy and I did not find a clear answer or example.

If anyone knows about this, any advice would be appreciated.

Thanks.

+6
source share
6 answers

As a rule, this means that the application will allow the user to choose different types of interface, each of which will have a different color scheme, feel, etc.

+3
source

What I really did with my project. I decided to use several storyboards to give me more control over the entire user interface and UX of each theme. I programmatically bind them all together using the main storyboard, which binds them all together. This is what I did and it works very well. The performance is excellent, while maintaining a high level of fine grain control for each topic. You can even store your header and implementation files the same way for individual view controllers, just like you keep the names the same on the storyboard.

So, for example, one of my applications I'm working on, called Jam-mout (music player), has several high-quality themes. (Image attached). Each theme has its own storyboard.

+1
source

In iPhone applications, where most of the GUI design is provided by the operating system, you can do this by setting your own background images on the navigation bar, custom button graphics, and various fonts / sizes / weights and spaces. Make sure that you are working with a designer who is familiar with the graphical interface of the iPhone (if you are not working with a designer, this will be a nightmare).

I recently put together an application for a client who wanted to heavily customize the GUI: http://itunes.apple.com/us/app/gogoparis/id428497937?mt=8 . The skinnable application has several such sets, so the user can choose between several different styles. (I hope your client has a huge project budget!)

0
source

my post here will help you get started:

What is the recommended styling method for an iOS app?

if you need changes in a live theme, each theme in this example can publish notifications when the user selects another theme (or skin) - then you can update the instance of the theme itself.

alternatively, you can create identifiers for displayed topics (NSCFDictionary) for a central factory theme. An example identifier for a particular view for use with a factory theme might be the string MONImageSelectorTableCellThemeIdentifier .

An example of a / factory manager that handles all theme downloads and supports theme links:

 @interface MONThemeManager : NSObject //... - (MONTheme *)themeForCurrentlySelectedSkinForViewWithIdentifier:(NSString *)identifier; //... @end 

In addition, it is difficult to answer your question in more detail without knowing your requirements. The skinning implementation of an application can range from very simple to very complex. good luck.

0
source

There is already a good answer here, but I would add that if you use the ui toolkit, for example Three20, you can get around everything using CSS, as you could for web pages.

0
source

I understand that this is an old post, but I thought I would share my business on this :)

To make any skin for the Cocoa application you need, you are thinking about 3 aspects of the application:

1) Uniformity: by this I mean that in all windows, views (including buttons, text inputs, etc.) you want to have a "standard" that will be applied throughout the application. This is the first thing you need to see. Although iOS and OS X already have “themes” to place it, for example, “Apples” by default for shading and laying, you can redefine them (see the Separate View / Window Documentation, etc.

2) Performance: when skinning, etc. performance is always a problem when it comes to writing your own drawRect methods, etc. The core of the code, which is already used for the "default", is already optimized, so you need to carefully monitor the performance of the application while you do this. Good examples: use a gradient image or use NSGradient? Both of them have performance issues when it comes to rendering them, but the question is which is better than two

3) userDefaults: This is usually the area in which you will receive your "skin" settings. userDefaults is basically where you store all the information that you usually set in the preferences panel.

If I were you, I would look at his link:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/

Also, here is a great example of using userDefaults:

http://mobile.tutsplus.com/tutorials/iphone/nsuserdefaults_iphone-sdk/

Hope this helps!

0
source

Source: https://habr.com/ru/post/895699/


All Articles