我用下面的代碼在我的應用程序時,一個按鈕用戶點擊:setNavigationBarHidden動畫不工作在iPad
[self.navigationController setNavigationBarHidden:NO animated:YES];
外觀正常的iPhone,但不是動畫在iPad上。你知道爲什麼嗎 ?
我用下面的代碼在我的應用程序時,一個按鈕用戶點擊:setNavigationBarHidden動畫不工作在iPad
[self.navigationController setNavigationBarHidden:NO animated:YES];
外觀正常的iPhone,但不是動畫在iPad上。你知道爲什麼嗎 ?
這裏的最佳解決方案可能是將self.navigationBar.hidden = NO;
置於UIViewController的-viewWillAppear:
方法中,您不希望永久隱藏該欄。
編輯:
我發現這個,可能會幫助你;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
CGRect rect = self.navigationController.navigationBar.frame;
rect.origin.y = rect.origin.y < 0 ?
rect.origin.y + rect.size.height
: rect.origin.y - rect.size.height;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
self.navigationController.navigationBar.frame = rect;
[UIView commitAnimations];
}
else
{
[self.navigationController setNavigationBarHidden:shouldHide animated:YES];
}
用戶單擊按鈕時應顯示條。所以我不能把代碼放在viewWillAppear – CedricSoubrie
我剛剛編輯我的評論,看看。 – relower
我想避免自己動畫,如果有更清晰的方式... – CedricSoubrie
此代碼適用於我。我嘗試用iPhone的導航模板,然後爲兩個特定設備的iPad進行項目升級。並運行在iPad上。然後導航欄隱藏/顯示與iPhone應用程序一樣的動畫。
試試這個。願你有更多的想法。
感謝,
MinuMaster
是的,當我開始一個新項目時,它也適用於我。所以它一定是我在我的代碼的其他工作的iPhone,但不是在iPad上... – CedricSoubrie
是的,你有檢討你。可能你會發現與此相關的任何事情。 – MinuMaster
做檢查你有你的觀點的屬性一起寫的其他代碼。我在我的通用應用程序中使用這個片段,並且它在iPhone和iPad上都能正常工作。所以看起來像你的意見的其他設置(可能是autosizing屬性??)造成這種情況。
確實你是對的!我會試着去看看我在iPad上製作動畫,而不是在iPhone上製作動畫。我現在沒有線索。 – CedricSoubrie
大概發佈一些代碼可能會讓你的答案更快,但可能會出錯。 – lostInTransit
你可以檢查self.navigationController是否爲空? –
navigationController不爲null。導航欄顯示正確,唯一的問題是iPhone上沒有動畫。 – CedricSoubrie
有沒有其他的動畫在同一時間? – Zoleas