如何为“评价此应用程序”ios自定义iRate类

时间:2013-04-19 07:06:39

标签: ios uiview irate

我不想将uialertview用于弹出窗口,这使用户有机会对ios上的应用进行评级。我想使用自定义弹出窗口,但这并没有显示出来。除了使用来自互联网的iRate类之外,我还创建了一个xib,其中包含我想要出现的弹出窗口,并且我在.h中从NSObject更改为:UIViewController。我评论了uialertview的所有代码,并且在方法promptForRating中,将触发,我使xi的uiview可见,但显然uiview是nil。

- (void)promptForRating
{
    rateView.hidden = NO;
}

是否有人建议让这个弹出窗口出现?

1 个答案:

答案 0 :(得分:2)

我想我现在就明白了......如果你想要显示一个视图,它必须嵌入一个视图控制器中。或者在已经嵌入的另一个视图中。

你能做的是

  • 访问UIApplication的sharedApplication
  • 获取该UIApplication的所有UIWindows(按相反顺序,因为myView应位于顶部)
  • 选择默认的UIWindow
  • 将myView添加为UIWindow的子视图

至少这是SVProgressHUD正在做的事情。

以下是一些示例代码

if(!myView.superview){
    NSEnumerator *frontToBackWindows = [[[UIApplication sharedApplication]windows]reverseObjectEnumerator];

    for (UIWindow *window in frontToBackWindows)
        if (window.windowLevel == UIWindowLevelNormal) {
            [window addSubview:myView];
            break;
        }
}

第一行是确保您的视图不可见atm(在您的上下文中可能不必要)。要关闭视图,请将其从超级视图中删除。