2010-08-14 29 views
1

我正在開發一個應用程序在ipad上讀取和註釋pdf's.My應用程序在縱向/橫向模式下工作正常,但是當我旋轉設備或模擬器時,它給我發錯的錯誤wait_fences:無法接收回復:10004003每當我從風景轉爲縱向或從縱向轉爲風景時。wait_fences:未能收到回覆:10004003 iphone

有些時候我的應用程序崩潰,有時候由於這個錯誤它不能正常旋轉。 我google關於wait_fences,但我沒有得到任何東西。

任何人都可以請幫助我。 在此先感謝。

+0

請發佈您的'willAnimateRotationToInterfaceOrientation代碼:' – iwasrobbed 2010-08-14 13:47:52

+0

感謝您的回覆。 請找到我的下面的代碼,我不能在這裏粘貼它..dats yi添加它作爲答案.. 我已經加入contins只有框架UI元素無非是.. 你可以請幫助我 – CKT 2010-08-14 14:05:30

回答

1

在這裏,你在做下面的事情的方法willAnimateRotationToInterfaceOrientation。

if([objGoToPagePopOverController isPopoverVisible]) 
{ 
    [objGoToPagePopOverController dismissPopoverAnimated:YES]; 
} 

所以,這裏不是直接調用此「dismissPopoverAnimated」的方法,使一個自定義的方法「Remove_Popover」,並呼籲在計時器類似如下:

[NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(Remove_Popover) userInfo:nil repeats:NO]; 

調用此方法的NSTimer當你將dismissPopoverAnimated代碼放入willAnimateRotationToInterfaceOrientation方法內。並且按照以下方法制作您自己的自定義方法:

- (void)Remove_Popover 
{ 
    if([objGoToPagePopOverController isPopoverVisible]) 
    { 
     [objGoToPagePopOverController dismissPopoverAnimated:YES]; 
    } 
} 

讓我知道您是否可以解決問題。

0

withih willRotateToInterfaceOrientation我打電話我mythod我在哪裏設置的橫向和縱向rects我所有的UI元素

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
{ 
    delegate.currentOrientation = toInterfaceOrientation; 
    [self landscapePortraitOrientation]; 
} 



- (void) landscapePortraitOrientation 
{ 
    CGRect scriptPageViewRect = delegate.objNewWindow.frame; 
    scriptPageViewRect.origin.x = 0.0; 
    scriptPageViewRect.origin.y = 0.0; 

    if((delegate.currentOrientation == UIInterfaceOrientationLandscapeLeft)|| (delegate.currentOrientation == UIInterfaceOrientationLandscapeRight)) 
    { 

     searchMenus.frame = CGRectMake(824, 634, 400, 55);  
     currPage.frame = CGRectMake(0.0, 0.0, 1004.0, 768.0);   //(0.0, 0.0, 798.0, 1024.0); //(138.0, -140.0, 768.0, 1004.0) 
     tiledLayerSize = tiledLayerSizeLandscape; 

     // Customising go to page slider 
     CGAffineTransform trans = CGAffineTransformMakeRotation (M_PI * 0.5); 
     goToPageSlider.transform = trans; 
     goToPageSlider.minimumValue = 1; 
     goToPageSlider.maximumValue = totalNoOfScriptPages; 
     goToPageSlider.frame = CGRectMake(15.0,90.0, 50.0, 550.0); 


     CGRect frame4=backButtonOutlet.frame; 
     frame4.origin.x=8; 
     frame4.origin.y=4; 
     frame4.size.width=69; 
     frame4.size.height=35; 
     backButtonOutlet.frame=frame4; 

     CGRect frame5=pdfPageTopBar.frame; 
     frame5.origin.x = 0; 
     frame5.origin.y = 0; 
     frame5.size.width = 1024; 
     frame5.size.height = 44; 
     pdfPageTopBar.frame = frame5;  


     CGRect frame6=pdfTitleOutlet.frame; 
     frame6.origin.x=319; 
     pdfTitleOutlet.frame=frame6;   

     CGRect frame7=helpButtonOutlet.frame; 
     frame7.origin.x=928; 
     frame7.origin.y=3; 
     frame7.size.width = 76; 
     frame7.size.height = 36; 
     helpButtonOutlet.frame=frame7; 

     CGRect frame9=modeSwitchBtnImage.frame; 
     frame9.origin.x=818; 
     modeSwitchBtnImage.frame=frame9; 


     CGRect frame10=pdfPageBottomBar.frame; 
     frame10.origin.x = -3; 
     frame10.origin.y = 675; 
     frame10.size.width = 1028; 
     frame10.size.height = 74; 
     pdfPageBottomBar.frame=frame10; 


     CGRect frame13=gotoPageButtonOutlet.frame; 
     frame13.origin.x = 504; 
     frame13.origin.y = 675; 
     gotoPageButtonOutlet.frame = frame13; 

     CGRect frame17=searchButtonOutlet.frame; 
     frame17.origin.x=314; 
     frame17.origin.y=675; 
     searchButtonOutlet.frame=frame17; 

     CGRect frame18=viewAllCommentsButtonOutlet.frame; 
     frame18.origin.x=696; 
     frame18.origin.y=675; 
     viewAllCommentsButtonOutlet.frame=frame18; 

     CGRect frame19=commentsButtonOutlet.frame; 
     frame19.origin.x=125; 
     frame19.origin.y=675;  
     commentsButtonOutlet.frame=frame19;  


     CGRect frame14=modeSwitchBtnOutlet.frame; 
     frame14.origin.x=818; 
     modeSwitchBtnOutlet.frame=frame14; 

     CGRect frameDoneBtn = commentDoneButtonOutlet.frame; 
     frameDoneBtn.origin.x = 835; 
     commentDoneButtonOutlet.frame = frameDoneBtn; 

     if([objGoToPagePopOverController isPopoverVisible]) 
     { 
      [objGoToPagePopOverController dismissPopoverAnimated:YES]; 
     } 

     //for comments 
     if(commentsView.hidden == NO && isKeyBoardShown == YES) 
     {CGRect commentsViewFrame = CGRectMake(0,200,1024,205); 
      commentsView.frame = commentsViewFrame; 
      CGRect pageTextCommentsFrame = pageTextComments.frame; 
      pageTextCommentsFrame.origin.x = 20; 
      pageTextCommentsFrame.size.width = 986; 
      pageTextCommentsFrame.size.height = 120; 
      pageTextComments.frame = pageTextCommentsFrame; 
     } 
     else if(commentsView.hidden == NO && isKeyBoardShown == NO) 
     { 

      CGRect commentsViewFrame = CGRectMake(0,380,1024,300); 
      commentsView.frame = commentsViewFrame; 

      CGRect pageTextCommentsFrame = pageTextComments.frame; 
      pageTextCommentsFrame.origin.x = 20; 
      pageTextCommentsFrame.size.width = 980; 
      pageTextCommentsFrame.size.height = 220; 
      pageTextComments.frame = pageTextCommentsFrame; 

     } 

     // Initialising top & bottm bar elements show rect 
     topBarShowRect = pdfPageTopBar.frame; 
     bottomBarShowRect = pdfPageBottomBar.frame; 
     backButtonShowRect = backButtonOutlet.frame; 
     topBarTitleLabelShowRect = pdfTitleOutlet.frame; 
     searchButtonShowRect = searchButtonOutlet.frame; 
     helpButtonShowRect = helpButtonOutlet.frame; 
     gotoPageButtonShowRect = gotoPageButtonOutlet.frame; 
     gotoSliderShowRect = goToPageSlider.frame; 
     commentsButtonShowRect = commentsButtonOutlet.frame; 
     viewAllButtonShowRect = viewAllCommentsButtonOutlet.frame; 


     // Initialising top & bottom bar elements hide rect 
     topBarHideRect = pdfPageTopBar.frame; 
     backButtonHideRect = backButtonOutlet.frame; 
     topBarTitleLabelHideRect = pdfTitleOutlet.frame; 
     searchButtonHideRect = searchButtonOutlet.frame; 
     bottomBarHideRect = pdfPageBottomBar.frame; 
     helpButtonHideRect = helpButtonOutlet.frame; 
     gotoPageButtonHideRect = gotoPageButtonOutlet.frame; 
     gotoSliderHideRect = goToPageSlider.frame; 
     commentsButtonHideRect = commentsButtonOutlet.frame; 
     viewAllButtonHideRect = viewAllCommentsButtonOutlet.frame;  

     topBarHideRect.origin.y = topBarHideRect.origin.y - 44.0; 
     backButtonHideRect.origin.y = backButtonHideRect.origin.y - 44.0; 
     topBarTitleLabelHideRect.origin.y = topBarTitleLabelHideRect.origin.y - 44.0; 
     searchButtonHideRect.origin.y = searchButtonHideRect.origin.y + 74.0; 
     bottomBarHideRect.origin.y = bottomBarHideRect.origin.y + 74.0; 
     helpButtonHideRect.origin.y = helpButtonHideRect.origin.y - 44; 
     gotoPageButtonHideRect.origin.y = gotoPageButtonHideRect.origin.y + 73.0; 
     gotoSliderHideRect.origin.x = gotoSliderHideRect.origin.x - 70.0; 
     commentsButtonHideRect.origin.y = commentsButtonHideRect.origin.y + 74.0; 
     viewAllButtonHideRect.origin.y = viewAllButtonHideRect.origin.y + 74.0; 

    } 
    else if(delegate.currentOrientation == UIInterfaceOrientationPortraitUpsideDown || delegate.currentOrientation == UIInterfaceOrientationPortrait) 
    { 
     currPage.frame = CGRectMake( 0.0, 0.0, 768.0, 1004.0); 
     tiledLayerSize = tiledLayerSizePortrait; 

     searchMenus.frame = CGRectMake(568, 890, 400, 55);  

     // Customising go to page slider 
     CGAffineTransform trans = CGAffineTransformMakeRotation (M_PI * 0.5); 
     goToPageSlider.transform = trans; 
     goToPageSlider.minimumValue = 1; 
     goToPageSlider.maximumValue = totalNoOfScriptPages; 
     goToPageSlider.frame = CGRectMake(15.0,90.0, 50.0, 825.0); 

     CGRect frame20=backButtonOutlet.frame; 
     frame20.origin.x=8; 
     frame20.origin.y=4; 
     frame20.size.width=69; 
     frame20.size.height=35; 
     backButtonOutlet.frame=frame20; 

     CGRect frame4=pdfPageTopBar.frame; 
     frame4.origin.x=0; 
     frame4.origin.y=0; 
     frame4.size.width=768; 
     frame4.size.height=44; 
     pdfPageTopBar.frame=frame4; 

     CGRect frame5=pdfTitleOutlet.frame; 
     frame5.origin.x=187; 
     pdfTitleOutlet.frame=frame5; 

     CGRect frame6=helpButtonOutlet.frame; 
     frame6.origin.x=687; 
     frame6.origin.y=3; 
     frame6.size.width=76; 
     frame6.size.height=36; 
     helpButtonOutlet.frame=frame6; 

     CGRect frame10=pdfPageBottomBar.frame; 
     frame10.origin.x=-2; 
     frame10.origin.y=931; 
     frame10.size.width=770; 
     frame10.size.height=74; 
     pdfPageBottomBar.frame=frame10; 

     CGRect frame11=searchButtonOutlet.frame; 
     frame11.origin.x=195; 
     frame11.origin.y=931; 
     searchButtonOutlet.frame=frame11; 

     CGRect frame12=gotoPageButtonOutlet.frame; 
     frame12.origin.x=387; 
     frame12.origin.y=931; 
     frame12.size.width=192; 
     frame12.size.height=74; 
     gotoPageButtonOutlet.frame=frame12; 

     CGRect frame13=backButtonOutlet.frame; 
     frame13.origin.x=9; 
     frame13.origin.y=4; 
     frame13.size.width=69; 
     frame13.size.height=35; 
     backButtonOutlet.frame=frame13; 

     CGRect frame17=commentsButtonOutlet.frame; 
     frame17.origin.x=1; 
     frame17.origin.y=931; 
     commentsButtonOutlet.frame=frame17; 

     CGRect frame18=viewAllCommentsButtonOutlet.frame; 
     frame18.origin.x=580; 
     frame18.origin.y=931; 
     viewAllCommentsButtonOutlet.frame=frame18; 

     CGRect frame14=modeSwitchBtnImage.frame; 
     frame14.origin.x=602; 
     modeSwitchBtnImage.frame=frame14; 

     CGRect frame16=modeSwitchBtnOutlet.frame; 
     frame16.origin.x=602; 
     modeSwitchBtnOutlet.frame=frame16; 

     CGRect frameDoneBtn = commentDoneButtonOutlet.frame; 
     frameDoneBtn.origin.x = 599; 
     commentDoneButtonOutlet.frame = frameDoneBtn; 

     //to remove thr popover for goto page 
     if([objGoToPagePopOverController isPopoverVisible]) 
     { 
      [objGoToPagePopOverController dismissPopoverAnimated:YES]; 
     } 

     //for comments 
     if(commentsView.hidden == NO && isKeyBoardShown == YES) 
     { 
      commentsView.frame = CGRectMake(0,535,768,205); 
      CGRect pageTextCommentsFrame = pageTextComments.frame; 
      pageTextCommentsFrame.size.height = 135; 
      pageTextCommentsFrame.size.width = 728; 
      pageTextComments.frame = pageTextCommentsFrame; 

     } 
     else if(commentsView.hidden == NO && isKeyBoardShown == NO) 
     { 
      commentsView.frame = CGRectMake(0, 568, 768, 362); 

      CGRect pageTextCommentsFrame = pageTextComments.frame; 
      pageTextCommentsFrame.size.height = 290; 
      pageTextCommentsFrame.size.width = 725; 
      pageTextComments.frame = pageTextCommentsFrame; 

     } 


     // Initialising top & bottm bar elements show rect 
     topBarShowRect = pdfPageTopBar.frame; 
     bottomBarShowRect = pdfPageBottomBar.frame; 
     backButtonShowRect = backButtonOutlet.frame; 
     topBarTitleLabelShowRect = pdfTitleOutlet.frame; 
     searchButtonShowRect = searchButtonOutlet.frame; 
     helpButtonShowRect = helpButtonOutlet.frame; 
     gotoPageButtonShowRect = gotoPageButtonOutlet.frame; 
     gotoSliderShowRect = goToPageSlider.frame; 
     commentsButtonShowRect = commentsButtonOutlet.frame; 
     viewAllButtonShowRect = viewAllCommentsButtonOutlet.frame; 


     // Initialising top & bottom bar elements hide rect 
     topBarHideRect = pdfPageTopBar.frame; 
     backButtonHideRect = backButtonOutlet.frame; 
     topBarTitleLabelHideRect = pdfTitleOutlet.frame; 
     searchButtonHideRect = searchButtonOutlet.frame; 
     bottomBarHideRect = pdfPageBottomBar.frame; 
     helpButtonHideRect = helpButtonOutlet.frame; 
     gotoPageButtonHideRect = gotoPageButtonOutlet.frame; 
     gotoSliderHideRect = goToPageSlider.frame; 
     commentsButtonHideRect = commentsButtonOutlet.frame; 
     viewAllButtonHideRect = viewAllCommentsButtonOutlet.frame;  

     topBarHideRect.origin.y = topBarHideRect.origin.y - 44.0; 
     backButtonHideRect.origin.y = backButtonHideRect.origin.y - 44.0; 
     topBarTitleLabelHideRect.origin.y = topBarTitleLabelHideRect.origin.y - 44.0; 
     searchButtonHideRect.origin.y = searchButtonHideRect.origin.y + 74.0; 
     bottomBarHideRect.origin.y = bottomBarHideRect.origin.y + 74.0; 
     helpButtonHideRect.origin.y = helpButtonHideRect.origin.y - 44; 
     gotoPageButtonHideRect.origin.y = gotoPageButtonHideRect.origin.y + 74.0; 
     gotoSliderHideRect.origin.x = gotoSliderHideRect.origin.x - 70.0; 
     commentsButtonHideRect.origin.y = commentsButtonHideRect.origin.y + 74.0; 
     viewAllButtonHideRect.origin.y = viewAllButtonHideRect.origin.y + 74.0; 

    } 

} 
相關問題