问题标签 [uiappearance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1657 浏览

ios - 如何创建基于主题的应用程序?

我知道已经问过类似的问题,但没有得到满意的答案。所以我再次添加这个问题。

基于 iphone 应用程序中的用户选择,我需要更改应用程序的外观和感觉(彩色字体背景图像等)。有没有标准的方法来实现这一点?

一种可能的解决方案是为每个主题复制 xib 文件并根据选择加载它。这是一个好方法吗?主要是因为连接 xib 副本的出口和操作听起来是一项多余的任务。

我想看看专家对这个疑问的建议。感谢您提前提供任何帮助。

-mia

0 投票
6 回答
2643 浏览

ios - UISegmentedControl 不尊重为 UIControlStateDisabled 设置的分隔线图像

我正在使用UIAppearanceiOS 5 中的新 API 来设置UISegmentedControl自定义图形的样式。我需要能够在执行期间将某些段设置为有时禁用,但这些UIAppearance方法似乎不允许我为UIControlStateDisabled状态设置分隔符图像。

我打电话给:

disabledSelectedImage此资源中可调整大小的图像在哪里:

禁用选定图像

然而,当我将左段设置为禁用([UISegmentedControl setEnabled:forSegmentAtIndex:])时,结果是这样的:

UISegmentedControl UI 故障

您可以清楚地看到UISegmentedControl默认使用UIControlStateNormal-UIControlStateNormal分隔线图像。

使用设置背景图像对我来说似乎非常高兴UIControlStateDisabled

(并尊重我在禁用状态下提供的图像)但不是分隔图像。有没有人遇到过这个或找到解决方案?

0 投票
1 回答
2023 浏览

ios5 - ios5 UIAppearance 的 UITableView 外观无法正常工作?

我正在尝试为在 UINavigationController 中加载的许多 UITableViews 设置背景。我正在使用 iOS 5 中添加的外观代理,但它没有按我的预期工作。

该应用程序使用 UISplitViewController,主视图是 UINavigationController。在这里面,我有一个名为 PBMasterTableViewController 的 UITableViewController 子类。在我的 AppDelegate 我有以下内容:

这工作正常,我在拆分视图中的主菜单具有我想要的背景。

从这个主菜单中,当我选择相关行时,我将 3 个其他 UITableViewController 子类推到导航控制器上。但是,我无法使用外观代理更改这些表的背景。我正在尝试以下操作:

这也在 appDelegate 中,之前显示的代码正下方有效(但是没有重复创建图像视图),但这根本没有任何作用!当我将 PBTwitterTableViewController 的实例推送到导航控制器上时,我只是获得了一个没有背景更改的标准表格视图。

我知道我可以简单地更改 tableViewControllers 本身的背景视图,但是当菜单在 splitViewControllers 弹出窗口中显示时旋转到肖像时,我不希望这些背景存在,因此我尝试使用外观WhenContainedIn:

我也不想简单地将外观设置为包含在 UISplitViewController 中,因为在 2 个实例中,我有一个 UITableView 被加载到详细信息部分,所以这会改变那些我不想要的外观。

在没有外观代理的情况下是否有另一种方法可以让我在弹出窗口中更改背景,或者有没有一种方法可以使用代理,或者我只是错过了一些愚蠢的东西?

谢谢

编辑 :

我刚刚尝试创建 UINavigationController 的子类并尝试使用[[UITableView appearanceWhenContainedIn:[PBMenuNavigationController class], nil] setBackgroundView:bgView];它再次对主菜单正常工作,但对于推送到堆栈上的任何其他 UITableView 都没有,所以我现在真的很难过:(

0 投票
1 回答
3953 浏览

ios - UIPageControl + UIAppearance

UIAppearance 的文档非常糟糕。

我想自定义 UIPageController 的颜色,但我无法确定要设置哪些属性。当我去的时候[UIPagecontrol appearance] set,我可能有数百个选项,所以几乎不可能弄清楚什么是什么。

我认为使用 UIAppearance 代理是可能的,对吧?

谢谢

0 投票
1 回答
1203 浏览

ipad - 是否可以在 iOS 5 中为电影播放器​​设置皮肤?

我知道这UIAppearance已在 iOS 5 中引入,但有什么方法可以使用新协议重新皮肤,还是我仍然需要使用方法等MPMoviePlayerController弄脏我的手?drawRect

有没有人有任何用于 iPad 的换皮电影播放器​​的好例子?

0 投票
1 回答
854 浏览

ios5 - MFMessageComposeViewController 和 UIAppearance,苹果说不要自定义

问题

在MFMessageComposeViewController 苹果的文档中说

重要消息组合接口本身不可定制,并且不能由您的应用程序修改。

但是 MFMessageComposeViewController 和 MFMailComposeViewController 中的导航栏和 barbuttonitems 继承了我通过 UIAppearance 完成的所有样式。

我试图通过使用 UIAppearance 包含并将导航栏/barbuttonitem 背景图像设置为零来恢复默认外观,但我无法弄清楚如何恢复导航栏和 barbuttonitem 的默认 titleTextAttributes。

我尝试了另一条路线并使用遏制来限制我的导航控制器的样式,但似乎 MFMessageComposeViewController 和 MFMailComposeViewController 无论如何都包含在我的导航控制器中,所以这没有帮助。

所以我的问题是:

1) 更改 MFMessageComposeView 和 MFMailComposeView 上的导航栏外观是否会成为应用商店批准的问题?(如果这不是问题,我可以保留自定义样式。)

2) 有没有办法呈现 ComposeViewController 以便它不会包含在我的导航控制器中?

3)或者简单地说,我怎样才能恢复 barButtonItems 和 navigationBar 的默认标题文本属性?

0 投票
0 回答
297 浏览

ios5 - UIWebView youtube 视频响应 UIAppearance

我开始变得非常沮丧......

第一个 MFMessageComposeViewController 和 MFMailComposeViewController 继承了我对视图控制器所做的 UIAppearance 更改...

我终于通过子类化我的 navigationController 并将我的 UIAppearance 更改包含到自定义 navigationController 的类来解决这个问题......

但是现在我的 uiwebview 中的 youtube 视频再次遇到了这个问题。我再次有一个子类视图控制器,我正在使用外观时包含:myViewController,但 youtube 视频似乎包含在我的自定义视图控制器中......

这真的开始困扰我了。苹果明确表示不要自定义这些视图,在 youtube 视频的情况下,我什至没有使用 mpmovieplayer,它就在 uiwebview 之外......我真的不想将整个 mpmovieplayer 框架放到我的项目中只是为此类的 uiappearance 设置 nil 值...

即使我这样做,我也不确定如何让默认的 titletextattributes 重新应用它们....

为什么这些视图首先响应 uiappearance?苹果不应该明确禁止他们继承 uiappearance 更改吗?

如果有人有建议,请告诉我

0 投票
2 回答
15415 浏览

objective-c - UIImage resizableImageWithCapInsets:没有按预期工作

我正在编写针对 iOS 5.0+ 平台的第一个 iOS 应用程序。我正在使用该UIAppearance协议来自定义应用程序 UI。

我正在尝试更改UIBarButtonItem整个应用程序的背景。由于我UIBarButtonItem的 's 可能会根据所使用的文本或图标而改变大小,因此我正在尝试UIImage resizableImageWithCapInsets:与我的背景 png 一起使用。

我最初在Ray Wenderlich上找到了我需要的代码。使用完全相同的代码,图像与上述教程中使用的图像非常接近,我得到了奇怪的结果。也许这只是我对 Cocoa Touch 的缺乏经验。

这是我正在使用的代码。

DreamsAppDelegate.m - 自定义外观:

这是我正在尝试使用的 png 背景图像

png背景

这是结果(在模拟器中)

尝试使用 resizableImageWithCapInsets 的结果:

0 投票
1 回答
680 浏览

ios - 我应该如何完成“setTintColor forState”(不存在)?

在我的应用程序委托中,我有这个:

我想为按下状态设置另一种颜色。

如何在不使用背景图像的情况下实现这一点?

0 投票
2 回答
1812 浏览

iphone - UINavigationBar background image does not change with rotation

I am trying to use a background image using the appearance methods in iOS 5. I’m setting the background images with these statements:

When I run the app, the correct image appears in portrait and landscape, but when I rotate back to portrait, it still has the landscape image shown.

I created a sample test application here: http://dl.dropbox.com/u/7834263/Appearance%20Test.zip

And screen shots of what is happening:

normal portrait

normal landscape

incorrect portrait