0

由于内置的​​ iOS UIAlertView 没有给我们换肤的能力,我已经构建了自己的 UIAlertViewCustom 类,我正在使用它。我的任何视图控制器都可以显示 UIAlertViewCustom 的实例,就像使用 UIAlertView 一样,除了我的版本允许皮肤图形/字体/颜色等。

我的 UIAlertViewCustom 类通过创建新的键窗口和根视图控制器来工作。然后我在这个新的根视图控制器上绘制我的消息视图。(选择显示消息的视图控制器会在后台看到,就像您在 UIAlertView 中看到的一样。

所有这些都运行良好。我想实现一项功能,但还没有弄清楚如何实现。我希望 UIAlertViewCustom 的每个实例都知道它是否应该在设备方向更改时自动旋转。当然,我想知道下面的视图控制器(创建 UIAlertViewCustom 实例并显示它的视图控制器)支持哪些方向?如果它只支持纵向,那么我不会自动旋转 UIAlertViewCustom 等。

我不希望每个视图控制器都必须将支持的方向属性传递给 UIAlertViewCustom 的每个实例。我只是希望 UIAlertViewCustom 的每个实例能够确定它是否应该自动旋转。

任何帮助将不胜感激!

4

1 回答 1

0

我会在你的视图控制器类中尝试这个:

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return [[view superview] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

我不确定它是否会起作用,但这就是我要开始的地方。这是必要的,因为它的默认实现返回YESforUIInterfaceOrientationPortrait和其他一切都是NO.

另一个小事。Apple 保留了它使用的前缀(NS、CF、CA、UI 等),您的自定义类不应使用它们。

编辑将 [self superview] 更改为 [view superview]

于 2012-05-22T19:53:16.483 回答