簡體   English   中英

iOS7:Pop ViewController強制將UIImageView放下

[英]IOS7: Pop ViewController forces the UIImageView to drop

將項目升級到iOS7之后

初始加載時

當我做一個BACK按鈕並且UINavigationController回到上一頁時,屏幕頂部的ImageView向下移動。

圖像下移

我使用IB進行布局。 這些是我的模擬指標:

模擬指標

我關閉了自動布局。 關於這個問題可能有什么想法? 我不確定是否有人想查看特定的代碼,並且我不想用太多的代碼弄亂問題。

更新:基於評論問題,我想進行以下更新:

  • 在應用程序.h或.m文件的任何位置,我都不會對imageview的大小或位置進行任何更改。
  • viewDidLoadviewDidAppear我都調用了一個名為recalculateAll的用戶定義方法,但它們根本沒有引用任何imageview尺寸。 只是為了進行嘗試,我注釋掉了整個部分並運行了代碼,但它仍然跳下來。
  • 在我的init我確實以編程方式設置了一些圖像視圖(您在氣泡中似乎看到了#132),並使用了它們的x和y。

這是我用於從視圖控制器移動到tableviewcontroller的典型導航:

 GetTimeOffByType *showTimeOffReport = [[GetTimeOffByType alloc] initWithNibName:@"GetTimeOffByType" bundle:nil];
    showTimeOffReport.timeOffType = @"Vacation";
    [self.navigationController pushViewController:showTimeOffReport animated:YES];

這些都是.xib文件,根本沒有情節.xib 它基本上是一個視圖控制器,具有一個帶有6個按鈕的嵌入式UINavigationController 每次按下按鈕都會推動UITableViewController傳遞不同的參數並顯示不同的數據。 我用來返回到原始UIViewController的過渡只是iOS生成的BACK按鈕(因此沒有顯示代碼)

Update#2希望這可以幫助某人解決這種奇怪的行為。 因此,如果我單擊showTimeOffReport上的表視圖單元以獲取單元格詳細信息,然后使用BACK一直導航到它,則它不會跳下來。

Update#3好吧,這是我剛剛發現的:是否跳下來的問題與UINavigationBar的半透明性有關。 如果您有Translucent = YES,它將從窗口頂部開始。 如果您有一個半透明= NO,它將從UINavigationBar的底部開始。

您可以嘗試將UIViewController edgesForExtendedLayout的new屬性設置為UIRectEdgeNone

這是一個很好的資源,它解釋了有關iOS 7中視圖布局如何變化的更多信息。

請參閱Apple文檔

如果您打算向后兼容,那么如果設備未運行iOS 7,則可能需要進行一些運行時檢查並調整位置。

這可能對您有幫助。您可以嘗試添加UIViewControllerBasedStatusBarAppearance鍵,並在info.plist中將其值設置為NO

UIViewControllerBasedStatusBarAppearance = NO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM