为 iOS 应用程序设置主题/皮肤的最佳实践?

     2023-03-04     157

关键词:

【中文标题】为 iOS 应用程序设置主题/皮肤的最佳实践?【英文标题】:Best practices of theming/skinning an iOS app? 【发布时间】:2012-11-25 02:52:13 【问题描述】:

对 iOS 应用进行主题化/皮肤设计的一些最佳做法是什么?

例子:

使用自定义图像作为屏幕背景。 修改 UITableView 表的外观。 具有自定义外观的按钮。

优秀教程的链接是加分项。

【问题讨论】:

【参考方案1】:

您可以创建一个协议,定义返回特定主题颜色、图像等的方法。所有符合该协议的类都必须实现这些方法。

@protocol MyCustomThemes <NSObject>
-(UIFont*)writingAreaFont;
-(UIColor*)dataCellLabelColor;
-(UIImage*)dataCellBackgroundImage;
@end

【讨论】:

这就是 Apple 自己为 Find My Friends 所做的,如 WWDC 2012 视频中的 Session 216 iOS 上的高级外观自定义 你是对的。我没有提到它,因为我不确定我们是否可以谈论这些。 谢谢!如果您只有一个主题(例如“查找我的朋友”),此方法是否会增加价值? 是的,将所有“样式”定义收集到一个文件中可以节省您以后想要更新主题的时间。【参考方案2】:

我可以建议:

    制作主题类 制作返回背景图片的函数 制作函数返回数据单元格。 在主题类中创建任何需要的函数。

init 函数应该有一个参数到 plist 文件,其中包含您的类正常工作所需的资产(图像)。它应该是一个 plist 文件,其中包含预定义键的字典。

希望对你有帮助。

【讨论】:

【参考方案3】:

您可以看看NUI,它可以让您非常轻松地修改应用的主题/皮肤,并将该主题也保存给其他应用。

例如,如果您想使用自定义图像作为所有 UIView 的背景,您只需在 NUI 样式表中添加以下内容:

ViewBackgroundImage    String    MyImage.png

NUI 也支持 UITableViews 和 UIButtons 的样式(如您在其他示例中所述)。

【讨论】:

【参考方案4】:

您可能想查看Freestyle。它基于Pixate 构建,并使用结构化的 Sass 为您的应用设置样式。您只需更改变量值即可创建新主题,或通过 CSS 或 Sass 扩展和自定义主题。

【讨论】:

【参考方案5】:

老问题,但仍然 - 如果您正在寻找最佳实践,那么 UIAppearance 可能就是它。

但是,如果您正在寻找一种更强大的方式来为您的应用设置样式(并创建主题) - 也请查看 InterfaCSS。 InterfaCSS 使用受 CSS(和 Less/Sass)启发的样式表,支持丰富的选择器语法并允许您使用标准的 UIKit 属性名称。

【讨论】:

我喜欢你实现 InterfaCSS 的方式。看起来非常轻巧且非侵入性。解决一个问题(DRY)。我更喜欢使用它而不是其他单一的样式解决方案(我真的不需要 Pixate 提供的所有编辑器和云共享的东西)。您是否有计划尽快开发 Android 版本的 InterfaCSS?【参考方案6】:

我知道这可能会迟到,但我偶然发现了一个名为 Pixate 的主题框架。 Pixate 允许您使用 css 为所有组件设置主题。它是原生的,意味着没有 web 视图,什么不是,而且它很容易在现有项目中实现。看看吧。

【讨论】:

更新->Pixate 被谷歌收购并已关闭。

最佳实践:ASP.NET 中的 CSS 或主题?

...它们不是为与CSS相同的目的而构建的。它的目的是在您的应用程序上定义不同的主题并用一 查看详情

ios/iphone sdk 表单管理最佳实践

...:57:28【问题描述】:我正在开发一个涉及大量表单的iPhone应用程序。目前,我为每个设置页面都有一个ViewController类,它有一个加载了可能设置的UITableView。当有人点击一个设置时,他们会被带到一个新视图以输入表单值,或者... 查看详情

iOS 用户角色最佳实践

...布时间】:2015-03-2201:42:18【问题描述】:我正在构建一个应用程序,其中一些用户将比其他用户拥有更多的功能访问权限。这个概念是一些用户是父母,而另一些用户是孩子,例如,父母可以添加家务,而孩子则不能。我想知道... 查看详情

管理一系列相关 iOS 应用程序的最佳实践

】管理一系列相关iOS应用程序的最佳实践【英文标题】:BestpracticeformanagingafamilyofrelatediOSapps【发布时间】:2011-04-0419:00:46【问题描述】:我目前正在将现有的iOS应用程序改编成一系列非常相似的应用程序(每个应用程序实例可... 查看详情

信创办公--基于wps的ppt最佳实践系列(ppt导入word大纲文字)

...用背景操作步骤1、制作大纲文稿2、为ppt套用主题模板3、设置幻灯片版式应用背景1、使用word的【样式】功能,快速将word文档制作成ppt。2、使用【设计】页的【主题】功能,统一PPT的排版风格。3、通过设置幻灯片版式&#x... 查看详情

加载设置 - 最佳实践

...:2011-04-2611:06:01【问题描述】:我正处于我的第一个实际应用程序中,我正在添加用户设置。我正在使用Java并且非常OO(并试图保持这种方式)所以这是我的想法:加载main()中的所有内容并将其全部“下线”传递给所需对象(数... 查看详情

最佳实践 - iPhone 后台应用模式

...个小时内消耗了大约50%的电池电量。它阅读了Apple关于此主题的entireofficialdoc 查看详情

使用 Instruments 测试 iOS 应用程序开发的最佳实践

】使用Instruments测试iOS应用程序开发的最佳实践【英文标题】:BestpracticetestingtheiOSapplicationdevelopmentwithInstruments【发布时间】:2012-05-0610:33:31【问题描述】:我想知道为客户提供的专业应用程序如何如此优雅,流畅,并且很少或... 查看详情

iOS NavigationController - 最佳实践

...问题描述】:我是iOS编程新手,我想知道,如果您的整个应用程序都将嵌入其中,您是否应该只使用导航控制器?我已经为登录/注册屏幕嵌入了视图控制器,并且想知道实际的游戏控制器,导航到一个全新的视图控制器是不好... 查看详情

最佳实践 - 您自己的项目/应用程序的 NSError 域和代码

】最佳实践-您自己的项目/应用程序的NSError域和代码【英文标题】:BestPractice-NSErrordomainsandcodesforyourownproject/app【发布时间】:2010-07-1815:34:56【问题描述】:有一个previousSOpost是关于为您自己的框架设置错误域,但是关于为您自... 查看详情

应用程序设置绑定最佳实践

】应用程序设置绑定最佳实践【英文标题】:Applicationsettingsbindingbestpractices【发布时间】:2017-05-2510:50:59【问题描述】:我一直在努力研究如何最好地与WinRT/UWP应用程序中绑定级别的设置“交互”。我一直在寻找这方面的最佳实... 查看详情

用于开发皮肤应用程序的最佳框架是啥?

】用于开发皮肤应用程序的最佳框架是啥?【英文标题】:WhatisthebestFrameworktousefordevelopingaskinnedapplication?用于开发皮肤应用程序的最佳框架是什么?【发布时间】:2009-02-0609:40:09【问题描述】:我需要为Windows开发一个应用程序... 查看详情

如何为 iPhone 应用程序创建多个主题/皮肤? [关闭]

】如何为iPhone应用程序创建多个主题/皮肤?[关闭]【英文标题】:HowtocreateMultipleThemes/Skinsforiphoneapps?[closed]【发布时间】:2012-02-1317:10:11【问题描述】:我有一个iPhone应用程序已准备好并已获得应用商店的批准。现在我想为我的... 查看详情

避免登录按钮的 Facebook 和 iOS 集成最佳实践

...发布时间】:2012-09-0220:54:51【问题描述】:我开始在我的应用程序中使用FB集成,并且我已经阅读了很多信息。我已经下载了SDK并完成了将框架集成到我的应用中的所有必要步骤。它已经为Facebook准备好了。尽管如此,我还没有... 查看详情

IOS 最佳 Web 视频编码实践 (FFMpeg)

...ube。我的客户端通过我创建的管理器界面上传视频,我的应用程序使用服务器上的FFm 查看详情

iOS Prefix.pch 最佳实践

...内容?您的Prefix.pch是什么样的?【问题讨论】:关于该主题的详细博文:cimgf.com/2010/05/02/my-current- 查看详情

为非 prod 和 prod 环境创建移动(ios、android)应用程序工件的最佳实践

】为非prod和prod环境创建移动(ios、android)应用程序工件的最佳实践【英文标题】:Bestpracticeforcreatingmobile(ios,android)appartifactfornon-prodandprodenvironments【发布时间】:2020-05-2706:36:50【问题描述】:我需要为多个环境创建一个移动应... 查看详情

Cassandra 连接最佳实践

...或者最好这样做;每次我有请求时都连接到Cassandra。此Web应用程序使用Ca 查看详情