-(void)reviewClicked:(id)sender
{
ReviewViewController *newView = [[ReviewViewController alloc] init];
newView.delegate = self;
UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:newView];
[self presentModalViewController:navCon animated:YES];
}
我有一個splitViewController安裝程序,這可能是導致一些問題。在詳細視圖控制器中,我有一個按鈕,當點擊時調用上面的代碼。presentModalViewController幻燈片新視圖太高了,並在屏幕上方
目標是從屏幕底部向上滑動視圖,以便用戶可以查看其選擇,然後單擊按鈕返回到原始詳細視圖。此代碼正在工作,您可以在模態視圖和原始詳細視圖之間來回點擊。
問題是,在它向上滑動屏幕之後,它會繼續滑過它應該停止的位置,最後會停止一個好的10-15像素。基本上,這種模式視圖在很遠的範圍內滑動,以至於很大一部分視圖位於屏幕的頂部。同時,相同數量的空間是屏幕底部的「空白空間」,只是進一步表明該視圖只是移動得太遠了。
複雜的事情,它在橫向模式下很好地滑動。
所以問題是,有沒有人知道爲什麼這個錯誤發生,使模式視圖滑動太遠,超過屏幕的頂部?
- = - = - = - = - = - = -
編輯: 對不起,我的意思在於斑鍵入navCon。我把它固定在上面。
- = - = - = - = - = - = -
解決方案:
-(void)reviewClicked:(id)sender
{
ReviewViewController *newView = [[ReviewViewController alloc] init];
newView.delegate = self;
UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:newView];
navCon.view.frame = CGRectMake(0, 0, 768, 1080);
[self presentModalViewController:navCon animated:YES];
}
一些試驗和錯誤後,我意識到,我從來沒有真正設置視圖的框架!一個簡單的解決方案......我一直在通過包含.xib文件的示例運行,並且由於這些文件自動創建了框架,所以我完全忽略了它!
請記住,任何人在將來看這個。該框架僅適用於肖像模式。如果你想風景模式,只需修改相應的框架:
navCon.view.frame = CGRectMake(0, 0, 1080, 768);
我還沒有試過,但不'[present presentModalViewController:navCon animated:YES];'做任何有用的事情? (通常你想呈現'擁有'控制器。) – 2012-04-13 16:04:13
請參考以下鏈接, http://stackoverflow.com/questions/11230159/presentmodalviewcontroller-with-some-frame/11230616#11230616 – ABC1 2012-06-27 16:32:18