1. 程式人生 > >Tableview偏移的誤差,偏移20,偏移64

Tableview偏移的誤差,偏移20,偏移64

在使用Tableview時有時候會產生各種各樣的小問題,下面說下Tableview偏移問題的產生和解決方法

原因:1滾動檢視不能作為父檢視的第一子檢視。

        2scrollView的自動佈局問題。

這是因為在iOS7.0之後,系統會自動調整scrollView的layout 和 contentInsets 。從而使其自動地適應iOS7之後那種整個螢幕都可以放入自定義控制元件的方法。而我們大多數在開發過程中並不希望收到系統自動的影響而是完全掌握開發過程中的每一個細節。還有一個願意是因為目前我們大多數的應用都是要向下適配到iOS6,而在6中並未提供這樣的特性,所以在程式碼級別依然希望使用相對“保守”的程式碼。

     所以解決這個問題的方法是講系統的這些自動調整scrollView 的 contentInsest 的特性遮蔽掉。方法如下:

  1. if ([[[UIDevice currentDevice] systemVersion]compare:@"7.0"]!=NSOrderedAscending) {  
  2.         self.edgesForExtendedLayout = UIRectEdgeNone;  
  3.         self.extendedLayoutIncludesOpaqueBars = NO;  
  4.         self.modalPresentationCapturesStatusBarAppearance
     = NO;  
  5.         self.automaticallyAdjustsScrollViewInsets=NO;  
  6.     }  

    其中edgesForExtendedLayout表示本viewController中的ScrollView使用哪些新特性中提供的contentInsets. 我們使用None.預設為All,也就是所有的方向都使用。

    extendedLayoutIncludesOpaqueBars表示這種自適應的contentInsets是否包括statusBar的高度。這是一條比較關鍵的程式碼。我們的tableView之所以會向上滾動20畫素就是因為當我們隱藏了statusBar之後scrollView認為沒有了狀態列,那麼它的contentInsets.top自動減小20px.

automaticallyAdjustsScrollViewInsets 表示在本viewController的view.subviews中的子view是否要受到系統的自動適配。比如在這裡如果設為YES(預設也是),那麼這個tableView.contentInsets.top就會為64.這裡我們置為No,就不會又這個自動的調整了。

在iOS 11上執行tableView向下偏移64px或者20px,因為iOS 11廢棄了automaticallyAdjustsScrollViewInsets,而是給UIScrollView增加了contentInsetAdjustmentBehavior屬性。避免這個坑的方法是要判斷

1 2 3 4 5 if (@available(iOS 11.0, *)) { _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; }else { self.automaticallyAdjustsScrollViewInsets = NO; }

相關推薦

sql server啟動不了 MSSQL 18052錯誤: 9003嚴重度: 20狀態: 1

問題現象: 系統日誌檔案(控制面板–管理工具–系統日誌) 能找到以下兩條錯誤: 17052: 無法恢復 master 資料庫。正在退出。 18052: 錯誤: 9003,嚴重度: 20,狀態: 1。 解決方法: 將Microsoft SQL Server/MSSQL/Data 目錄改名

錯誤: 17832嚴重度: 20狀態: 9 [DBNETLIB][ConnectionWrite (send()).]一般性網路錯誤。請檢查網路文件。

開啟網站,看到了這樣的程式碼....[DBNETLIB][ConnectionWrite (send()).]一般性網路錯誤。請檢查網路文件。我做了兩件事:1. 趕快檢視下系統日誌,如下:     錯誤: 17832,嚴重度: 20,狀態: 9     已開啟連線但傳送的登入

sql server啟動不了 MSSQL 18052錯誤: 9003嚴重度: 20狀態: 1 . 。sql server 2000 附加資料庫沒日誌,及安裝異常問題。無法通過IP來聯結

sql server啟動不了, MSSQL 18052錯誤: 9003,嚴重度: 20,狀態: 1 .   問題現象: 系統日誌檔案(控制面板–管理工具–系統日誌) 能找到以下兩條錯誤: 17052: 無法恢復 master 資料庫。正在退出。 18052: 錯誤: 9003

Tableview偏移誤差偏移20偏移64

在使用Tableview時有時候會產生各種各樣的小問題,下面說下Tableview偏移問題的產生和解決方法 原因:1滾動檢視不能作為父檢視的第一子檢視。         2scrollView的自動佈局問題。 這是因為在iOS7.0之後,系統會自動調整scrol

swift-tableView滾動裡面圖片發生偏移動畫

在cell的content View上放一個UIView控制元件,設定cell高度與uiview的高度為300 在uiview上再新增一個UIImageView,設定左右靠邊,高度設定為400 設定圖

iOS 隱藏導航欄後UITableView向下偏移狀態列高度 筆記

解決辦法 if (@available(iOS 11.0, *)) { self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; } else {

解決datetimepicker不能觸發點選事件日期外掛位置偏移日期範圍限制的問題

最初的問題: 一開始所遇到的問題是相對簡單的,就是今天的日期是3-20,但是卻可以選擇20號之後的日期。 html程式碼: <form action="web?module=stwmgr&action=Dataprocessing&method=g

STM32 IAP韌體更新bootloader起始地址偏移程式碼中還需設定中斷向量的偏移

在 stm32f10x_flash.icf 中設定ROM的起始結束地址 /*-Specials-*/ define symbol __ICFEDIT_intvec_start__ = 0x08004000; /*-Memory Regions-*/ define symbo

iOS 隱藏導航欄後UITableView向下偏移狀態列高度 筆記

解決辦法 if (@available(iOS 11.0, *)) { self.tableView.contentInsetAdjustmentBehavior = UIScrollViewC

JS獲取視窗元素尺寸與偏移

獲取瀏覽器視窗的大小 文件區域 :指的是html或body的寬高(不包含導航欄,位址列等瀏覽器元件)。 視窗 :指的是整個瀏覽器視窗(包含導航欄,位址列等瀏覽器元件) 文件可視區域 :指的是文件區域中可以看到網頁內容的區域,例如當文件區域可以滾動的時候,減去被隱藏的區域,剩下的就

HeaderGridView——可以新增HeaderView的GridView已修復HeaderView偏移的BUG

基於Google提供的HeaderGridView,修復其HeaderView偏移的bug Refer 一、基於Google提供的HeaderGridView,修復其HeaderView偏移的bug 最近在做一個需求用到了PullToRefre

kafka直連方式使用redis儲存偏移

使用Redis來記錄偏移量,以前用receive方式時,使用zookeeper儲存偏移量,不用自己儲存偏移量,使用直連方式可以自己儲存偏移量,更加靈活。在直連方式中,儲存偏移量可以使用zookeeper,也可以使用mysql、redis等來儲存偏移量,下面使用一

Android matrix偏移(平移)旋轉縮放傾斜的原理

第一部分 Matrix的數學原理 在Android中,如果你用Matrix進行過影象處理,那麼一定知道Matrix這個類。Android中的Matrix是一個3 x 3的矩陣,其內容如下: Matrix的對影象的處理可分為四類基本變換: Translate   

高德百度Google地圖定位偏移以及座標系轉換

一。在進行地圖開發過程中,我們一般能接觸到以下三種類型的地圖座標系: 1.WGS-84原始座標系,一般用國際GPS紀錄儀記錄下來的經緯度,通過GPS定位拿到的原始經緯度,Google和高德地圖定位的的經緯度(國外)都是基於WGS-84座標系的;但是在國內是不允許直接用WGS

Java 獲取 1-20 之間的隨機數共計 20要求不能重復 獲取 1-20 之間的隨機數共計 10 個要求不能重

out ace rand hashset lis ted public rup ava package com.swift; import java.util.HashSet; import java.util.Random; import java.util.Set;

20.1-20.4 shell:腳本腳本結構與執行date用法shell腳本的變量

shell 腳本 變量 date用法 20.1 shell是什麽shell是系統跟計算機硬件交互時使用的中間介質,它只是系統的一個工具。實際上,他在shell和計算機硬件之間還有一層東西——系統硬核。如果把計算機硬件比作一個人的軀體,那系統內核就是人的電腦。至於shell,把它比作人的五官似乎

NGOT高額鎖倉計劃今日上線年化收益率高達20%限量1000萬NGOT!

方法 nag proc 什麽 登陸 除了 開啟 180天 blog NGOT高額鎖倉計劃今日上線,年化收益率高達20%,限量1000萬NGOT! 喜訊!緊接登陸FCoin創業板後,NGOT今天又推出神奇活動——高額鎖倉計劃,年化收益率最高可達20%,這簡直就是躺著賺的節奏。

python練習題寫一個方法 傳進去列表和預期的value 求出所有變量得取值可能性(例如list為[1,2,3,4,5,6,12,19]value為20結果是19+1==20只有一種可能性)要求時間復雜度為O(n)

num bubuko com pri def 代碼 data- 取值 .com 題目:(來自光榮之路老師)a+b==valuea+b+c=valuea+b+c+d==valuea+b+c+d+...=valuea和b....取值範圍都在0-value寫一個方法 傳進去列

管理與技術未必不可兼得一個20年IT老兵的碼農生涯

連接 ive 重要 貨幣 smart 奇跡 dde rdquo 系統 作者|康德勝 我是一個喜歡寫代碼但幾乎不太有機會寫代碼的CTO,也是一個看得懂財務報表、通過所有CFA(金融特許分析師)考試並獲得FRM(金融風險經理)認證的拿到金融MBA的CTO,如果我有幸被稱作碼農

會這門技術的程式設計師遭瘋搶年薪20萬還是白菜價!

> 小程式的未來,不能沒有AR 自從微信推出“小程式”後,原本這個被外界並不太看好的應用,開始逐漸走紅,而隨著“小程式”的市場進一步被各大巨頭挖掘,在“小程式”市場上,微信“已經不是一個人在戰鬥”。但是在小程式這個全新的“戰線”上,傳統的“網際網路打法”似乎已經不再是關鍵,場景應用成為