iOS UITextView 的坑:?jiǎn)?dòng)時(shí)文字位置不從頂部開(kāi)始

問(wèn)題描述

今天有個(gè)同學(xué)發(fā)了一個(gè)很簡(jiǎn)單的 demo。里面只有一個(gè) viewController,里面只有一個(gè)用 autoLayout 約束、充滿屏幕的 UITextView,UITextView 里面充滿了大段文字(大概是 UITextView 高度的三倍)嫂拴。xib 的預(yù)覽尺寸選的是 View as: iPhone 7,然后運(yùn)行在 iPhone 5s 或 SE 的模擬器上贮喧,發(fā)現(xiàn) UITextView 自動(dòng)滾動(dòng)到了中間位置筒狠,而不像正常一樣是從頂部開(kāi)始的。

問(wèn)題原因

經(jīng)過(guò)反復(fù)嘗試箱沦,發(fā)現(xiàn)出現(xiàn)問(wèn)題的必要條件如下:

  1. 用 autoLayout 約束辩恼,或用 autoResizing 并配置為縮放。
  2. 在實(shí)際運(yùn)行時(shí)谓形,UITextView 的尺寸相比在 xib 里是縮小运挫,而不是放大。

看起來(lái)像是 autoLayout 帶來(lái)的一個(gè)系統(tǒng) bug套耕。

解決方法

正常的解決方法:

  1. 此處放棄使用 autoLayout 或 autoResizing 的縮放谁帕;
  2. 用代碼手動(dòng)調(diào)整一下 contentOffset,比如在 viewDidLayoutSubviews 里:
- (void)viewDidLayoutSubviews {
    [self.textView setContentOffset:CGPointZero animated:NO];
}

hacky 的解決方法:
在 xib 里把 UITextView 的尺寸手動(dòng)拉小冯袍,不去管黃色的 warning匈挖;或者 View as 選最小的一個(gè)屏幕尺寸。這樣在運(yùn)行時(shí)康愤,UITextView 只會(huì)放大儡循,不會(huì)縮小,問(wèn)題也就消失了征冷。不過(guò)择膝,不能防止日后同事或者自己忘記了這一點(diǎn),不小心改了回來(lái)检激,問(wèn)題還會(huì)出現(xiàn)肴捉。

所以,我們還是盡量選擇正常的解決方法吧~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叔收,一起剝皮案震驚了整個(gè)濱河市齿穗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饺律,老刑警劉巖窃页,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡脖卖,警方通過(guò)查閱死者的電腦和手機(jī)乒省,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)畦木,“玉大人作儿,你說(shuō)我怎么就攤上這事〔雠” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵晾嘶,是天一觀的道長(zhǎng)妓雾。 經(jīng)常有香客問(wèn)我,道長(zhǎng)垒迂,這世上最難降的妖魔是什么械姻? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮机断,結(jié)果婚禮上楷拳,老公的妹妹穿的比我還像新娘。我一直安慰自己吏奸,他們只是感情好欢揖,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著奋蔚,像睡著了一般她混。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泊碑,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天坤按,我揣著相機(jī)與錄音,去河邊找鬼馒过。 笑死臭脓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腹忽。 我是一名探鬼主播来累,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼窘奏!你這毒婦竟也來(lái)了佃扼?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎皱碘,沒(méi)想到半個(gè)月后磁浇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體钧大,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瘤运,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年窍霞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拯坟。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡但金,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出郁季,到底是詐尸還是另有隱情冷溃,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布梦裂,位于F島的核電站似枕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏年柠。R本人自食惡果不足惜凿歼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冗恨。 院中可真熱鬧答憔,春花似錦、人聲如沸掀抹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)傲武。三九已至侯嘀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谱轨,已是汗流浹背戒幔。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留土童,地道東北人诗茎。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像献汗,于是被迫代替她去往敵國(guó)和親敢订。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容