簡體   English   中英

UITableView內容偏移量-64pt問題

[英]UITableView content offset -64pt issue

我正在調試表視圖,並在我的-viewDidLoad方法中具有:

<UITableView: 0x7b394600; frame = (0 0; 1024 768); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7983d2f0>; layer = <CALayer: 0x79836ca0>; contentOffset: {0, 0}>

但是當我在-viewDidAppear方法中檢查框架和內容偏移量時:

<UITableView: 0x7ab79c00; frame = (0 0; 1024 768); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7998f700>; layer = <CALayer: 0x7998f560>; contentOffset: {0, -64}>

我不知道表如何獲得-64的偏移量。

視圖只是加載了一系列方法,然后視圖確實出現了,但是內容偏移量對我來說發生了神奇的變化。

可能是什么原因?

這是我的viewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];

    _theTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];

    _theTableView.dataSource = self;
    _theTableView.delegate = self;

    [self.view addSubview:_theTableView];

    _theTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

    self.title = @"File Manager";
}

我有導航欄,但是很奇怪,我看到的表應該保持不變。 這樣看起來很完美,我看到了頂部的單元格,當我滾動到底部時,看到了最后一個單元格。 甚至指示器對我說內容偏移量為0。如果我強制設置內容偏移量{0,0},則似乎第一個單元格進入導航欄,垂直指示器不是從頂部開始,而是有大約64 pt的填充,但這很奇怪。

我想這是因為狀態欄和導航欄。 但是,如果進行硬編碼創建偏移和框架,則對我沒有幫助。 好像系統會自動形成我=)

這是默認行為,請automaticallyAdjustsScrollViewInsets查看: automaticallyAdjustsScrollViewInsets

默認值為YES,它允許視圖控制器根據狀態欄,導航欄以及工具欄或選項卡欄占用的屏幕區域來調整其滾動視圖插圖。 如果要自己管理滾動視圖插圖調整,例如在視圖層次結構中有多個滾動視圖時,請設置為NO。

…以及《 iOS 7 UI過渡指南》中的其他相關內容。

暫無
暫無

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

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