Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 触按ImageView可连接到另一个ViewController_Objective C_Ios_Uiviewcontroller_Uiimageview - Fatal编程技术网

Objective c 触按ImageView可连接到另一个ViewController

Objective c 触按ImageView可连接到另一个ViewController,objective-c,ios,uiviewcontroller,uiimageview,Objective C,Ios,Uiviewcontroller,Uiimageview,我有两个ViewControllers,我创建了一个UIImageView,就像IPhone上的闪屏一样显示。我在TestAppDelegate.m中编写它: ==================== splashScreen = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; splashScreen.image = [UIImage imageNamed:@"Default.png"]; [self.wind

我有两个
ViewControllers
,我创建了一个
UIImageView
,就像IPhone上的闪屏一样显示。我在
TestAppDelegate.m
中编写它:

====================

splashScreen = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

splashScreen.image = [UIImage imageNamed:@"Default.png"];

[self.window addSubview:splashScreen];

 sleep(6);

[splashScreen removeFromSuperview];
====================

splashScreen = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

splashScreen.image = [UIImage imageNamed:@"Default.png"];

[self.window addSubview:splashScreen];

 sleep(6);

[splashScreen removeFromSuperview];
我的问题是,

如果我点击这个
imageview
,我将进入第二个
ViewController

否则,在时间睡眠后,自动切换到第一个
视图控制器


那么,这是可能的吗?

是的。这是可能的。在AppDelegate中保持
NSTimer

在计时器选择器中,写入代码以推送到第一视图控制器

并在imageview和Touch event上放置一个
触摸识别器
,写入代码以推送到第二视图控制器。

执行以下操作:

在appDelegate.h文件中添加UIgestureRecognitizerDelegate

@interface AppDelegate : UIResponder <UIApplicationDelegate,UIGestureRecognizerDelegate>
现在,当点击启动屏幕时,将调用处理程序

- (void)handleTap:(UITapGestureRecognizer*)recognizer
{
   // Do Your thing. 
   if (recognizer.state == UIGestureRecognizerStateEnded)
   {
     [splashScreen removeFromSuperview]; //edited here
     ViewController2 *objViewController2 = [[ViewController2 alloc]initWithNibName:@"ViewController2" bundle:nil];
    [self.window addSubview:objViewController2.view];
   }
}

您的图像作为一个
ui按钮如何?
?FirstViewController工作,而SecondViewController不工作。我不知道为什么。它不是方法handTap,我也记录了它。tapRecognizer.numberOfTapsRequired=1;tapRecognizer.numberOfTouchesRequired=1;tap recognizer.delegate=self;在回答时加上这个