1.關於scroll-view
scroll-view是小程序用來控制可滾動視圖區域的組件。
通過設置scroll-x ="true" 或 scroll-y="true" 來分別控制橫向滾動或縱向滾動;這里需要注意的一點:
使用豎向滾動時,需要給<scroll-view/>
一個固定高度,通過 WXSS 設置 height
2.使用scroll-view來實現一個介紹頁長圖的完整滾動顯示
本以為是一個簡單的需求,沒想到也會采坑;
第一版實現思路及代碼如下:
通過wx.getSystemInfoSync()獲取設備高度,然后通過內聯樣式去給scroll-view組件height賦值
wxml
<scroll-view class="help-info" scroll-y="true" style="height:{{scrollHeight}}px"> <image lazy-load="true" src="../../images/userGuide.jpg" mode="widthFix"></image> </scroll-view>
wxss
.help-info { position: absolute; top: 0; bottom: 0; width: 100%; } .help-info image { display: block; width: 100%; height: 100%; }
js
Page({ data: { scrollHeight: '' }, onLoad: function() { let self = this; wx.getSystemInfo({ success: function(res) { self.setData({ scrollHeight: res.windowHeight }) } }); } })
測試結果:
圖片在ios上不能顯示完整,偶爾也會先不能滾動的情況
認真查找很久原因,發現是因為沒有給scroll-view設置 overflow: auto;
wxss更改如下:
.help-info { position: absolute; top: 0; bottom: 0; width: 100%; overflow: auto; } .help-info image { display: block; width: 100%; height: 100%; }
測試結果:
正常顯示
總結:在使用scroll-view實現豎直滾動的時候,要設置下overflow: auto;這樣才能正常顯示