创建点击覆盖指令视图

时间:2012-09-05 21:04:03

标签: iphone objective-c ios xcode uiimageview

这是一个非常简单的问题。 你如何创建这样的视图? enter image description here

第一次用户运行应用程序的这一部分时必须覆盖,并在用户点击它时永久删除。我知道它应该是一个UIImageView,但你如何使它活跃,然后永远将它从视图中删除?

3 个答案:

答案 0 :(得分:9)

您可以使用didFinishLaunchingWithOptions课程的addSubView方法,在应用启动后立即在应用代表的UIView方法中添加子视图。以下是一些有关如何继续操作的代码段:

- (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。

答案 1 :(得分:4)

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

  • 致电[myView addSubview:imgView],将图片视图添加到当前视图(myView
  • 完成后致电[imgView removeFromSuperview](即响应敲击或定时器后)

确保userInteractionEnabled的{​​{1}}属性为imgView,以便将触摸传递给NO

答案 2 :(得分:1)

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