Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.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
Ios 导航栏和底部工具栏不工作(不响应点击/单击)_Ios_Objective C_Ipad_Uiview_Navigation - Fatal编程技术网

Ios 导航栏和底部工具栏不工作(不响应点击/单击)

Ios 导航栏和底部工具栏不工作(不响应点击/单击),ios,objective-c,ipad,uiview,navigation,Ios,Objective C,Ipad,Uiview,Navigation,我在ios7(ipad)中遇到了一个问题,即导航栏和底部工具栏无法捕获点击事件。同样的代码在ios 8(iphone/ipad)中也能正常工作。这是我的代码,我有一个slideView,它是一个UIView,我将另一个UIView singleCamView推入其中。第一次加载到singleCamView时,导航和工具栏都不工作,但当我返回slideView并再次进入singleCamView时,一切都很好 在幻灯片视图中: (void)viewDidAppear:(BOOL)animated

我在ios7(ipad)中遇到了一个问题,即导航栏和底部工具栏无法捕获点击事件。同样的代码在ios 8(iphone/ipad)中也能正常工作。这是我的代码,我有一个slideView,它是一个UIView,我将另一个UIView singleCamView推入其中。第一次加载到singleCamView时,导航和工具栏都不工作,但当我返回slideView并再次进入singleCamView时,一切都很好

在幻灯片视图中:

(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self changeUILayout];
    [serverMgr disableTalkFunc];
    if (eLayoutType == eLayout_1X1 && !backFrom1x1) {
        [self changeLayout_1x1];
    }
}

(void)changeLayout_1x1 {
    if ([self.navigationController.visibleViewController isKindOfClass:[SlideView class]]) {
        int camInArray = 0;//iPageIdx * [self getPreviewNum] + singleCamPos;

        SinglePageViewController_Base *firstPage = [viewControllers objectAtIndex:0];
        SingleCamViewController * mCam = [[SingleCamViewController alloc] initWithServerManager:serverMgr CurrentCam:camInArray];
        [mCam setParent:firstPage];
        [mCam setTitle:[serverMgr getDeviceNameByChIndex:0]];
        mCam.changeLayoutDelegate = self;
        int ch_index = 0;//iPageIdx * [self getPreviewNum] + pos;
        [serverMgr updateAudioAndPtzDeviceByChIndex:ch_index];
        [mCam setPtzCap:[serverMgr isSupportPTZ:ch_index]];
        [mCam setAudioCap:[serverMgr isSupportAudio:ch_index]];
        [mCam setTalkCap:[serverMgr isSupportTalk:ch_index]];
        [firstPage setSingleCam:mCam];
        [serverMgr setPlaybackDelegate:mCam];
        [self.navigationController pushViewController:mCam animated:YES];
        //clear to default picture
        [firstPage setDefaultPic];
        [serverMgr disconnectAllCam];
        [serverMgr connectToCamWithHighResolution:ch_index];
        [mCam release];

        eLayoutType = eLayout_1X1;
        [serverMgr setLayoutType:eLayout_1X1];
        [parent save];
    }
    else {
        return;
    }
}
在singleCamView中:

....
UIImage *backImage;
UIButton *bButton = [UIButton buttonWithType:UIButtonTypeCustom];
if (IS_IPAD)
    backImage = [UIImage imageNamed:@"Back_48x48_nor.png"];
else
    backImage = [UIImage imageNamed:@"Back_32x32_nor.png"];
bButton.bounds = CGRectMake(0, 0, backImage.size.width, backImage.size.height);
[bButton setImage:backImage forState:UIControlStateNormal];
[bButton addTarget:self action:@selector(onBackBtnTap) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem * backButton = [[UIBarButtonItem alloc] initWithCustomView:bButton];
UIBarButtonItem * backButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back", nil) style:UIBarButtonItemStylePlain target:self action:@selector(onBackBtnTap)];
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
    [backButton setTintColor:COLOR_NAVBUTTONTINT];
}
else {
    [backButton setTintColor:COLOR_NAVBUTTONTINTIOS6];
}
self.navigationItem.leftBarButtonItem = backButton;
[backButton release];

重要的是,它在ios8中运行良好,我无法找出原因。谢谢。

最后我解决了我自己的问题,这里是解决方案,关键是在创建主视图之后立即推送第二个视图,控制器(可能)尚未完全初始化。所以我在主视图和第二视图之间添加了一个延迟,一切正常


这篇文章给了我答案

最后我解决了我自己的问题,这里是解决方案,关键是在主视图创建之后,第二个视图被推送,控制器(可能)还没有完全初始化。所以我在主视图和第二视图之间添加了一个延迟,一切正常


这篇文章给了我答案

查看ios 7中的高度宽度问题。。。因此,请检查您的视图高度宽度ios 7中的视图高度宽度问题。。。因此,请检查您的视图高度和宽度