6

这里有一个非常简单的问题。你如何创建这样的视图? 在此处输入图像描述

它必须在用户第一次运行应用程序的这一部分时覆盖,并且一旦用户点击它就被永久删除。我知道它应该是一个 UIImageView,但是你如何让它处于活动状态,然后永远将它从视图中移除呢?

4

3 回答 3

9

您可以在应用程序启动后使用类的方法didFinishLaunchingWithOptions在应用程序委托的方法中添加子视图。以下是您可以如何进行的一些代码片段:addSubViewUIView

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    UIImageView *imageView = [[UIImageView alloc] 
    initWithImage:[UIImage imageNamed:@"yourimage.png"]];
    [self.window addSubview:imageView];

     UITapGestureRecognizer * recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
     recognizer.delegate = self;
    [imageView addGestureRecognizer:recognizer];
    imageView.userInteractionEnabled =  YES;
    self.imageView = imageView;
}

- (void) handleTap:(UITapGestureRecognizer *)recognize
{
     [self.imageView removeFromSuperView];
}

请注意,您将需要一个属性来在handleTap方法中引用您的 imageView。

于 2012-09-05T21:25:07.027 回答
4

UIView拥有您需要的所有方法,例如

  • 调用[myView addSubview:imgView]以将图像视图添加到当前视图 ( myView)
  • 完成时调用[imgView removeFromSuperview](即响应点击或计时器后)

确保touserInteractionEnabled的属性,以便将触摸传递给。imgViewNOmyView

于 2012-09-05T21:25:33.133 回答
1

我的想法是设置一个 NSUserDefault 变量并在 applicationDidFinishLaunchingWithOptions 或应用程序中其他有意义的地方检查它。当您的变量为真与假时,您可以只推送一个单独的视图。

于 2012-09-05T21:08:28.140 回答