iOS UIScrollView 浣犲彲鑳戒笉鐭ラ亾鐨勫鎶€娣阀
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS UIScrollView 浣犲彲鑳戒笉鐭ラ亾鐨勫鎶€娣阀相关的知识,希望对你有一定的参考价值。
鏍囩锛?/p>
iOS 鐨?UIScrollView 鍙互璇存槸鍗佸垎寮哄ぇ锛屽阀濡欏湴杩愮敤瀹冨彲浠ュ緱鍒颁竴浜涙剰鎯充笉鍒扮殑鏁堟灉銆傛湰鏂囧皢涓惧嚑涓?ScrollView 涓嶅父瑙佽繍鐢ㄧ殑渚嬪瓙銆?/p>
鑷甫淇℃伅搴旂敤
杩欎釜鐣岄潰鏃㈠彲浠ヤ笂涓嬪嵎鍔紝涔熷彲浠ュ乏鍙虫粦鍔ㄦ媺鍑哄彂閫佹椂闂淬€?/p>
P.S. 姘旀瀹濆疂浜嗭紝鎴戝仛浜嗕竴缁勭簿缇庣殑 gif锛屼絾鏄ぇ灏忛兘瓒呭嚭绠€涔﹂檺鍒?hellip;..鏃犺锛屽ぇ瀹跺氨鑴戣ˉ涓€涓嬫晥鏋滃惂銆?/p>
杩欎釜鏁堟灉澶т綋鐪嬩竴涓嬪氨闈炲父鍍忎竴涓緢澶х殑 ScrollView锛屽彲浠ュ洓涓柟鍚戦兘鑳芥粦鍔ㄣ€備絾鏄?UITableView 鍙兘涓婁笅婊氬姩锛岀‖瑕佷慨鏀归偅灏辨槸澶ф墜鏈紝涓嶆帹鑽愯繖鏍峰仛銆傚洜姝ゆ垜鎯冲埌鐨勬柟娉曟槸鍏堝垱寤轰竴涓?ScrollView锛屽皢鍏?contentSize 璁剧疆涓?TableView 鐨?contentSize锛屽苟灏嗗叾瀹藉害鍐嶈缃ぇ涓€涓儚绱狅紝杩欐牱宸﹀彸鏂瑰悜涔熷彲浠ユ粦鍔ㄤ簡銆傜劧鍚庣洃鍚?ScrollView 鐨勬粴鍔ㄤ簨浠讹紝灏嗗叾 contentOffset.y 缁戝畾鍒?TableView 鐨?contentOffset.y 涓婏紝 閭d箞 contentOffset.x 灏卞彲浠ユ潵璁剧疆姣忎釜 cell 鐨勫唴閮ㄦ晥鏋滀簡銆?/p>
涓嬮潰鎴戜滑鐪嬬湅浠g爜锛?/p>
鍓嶅崐閮ㄥ垎寰堢畝鍗曪紝灏辨槸涓€涓?TableView 鐨勫垵濮嬪寲锛屼笅闈㈡槸鎴戜滑鐨勯噸鐐癸紝鎴戝垱寤轰簡涓€涓?UIScrollView锛岃鍏?frame 涓?TableView 鐨勪竴鑷达紝Inset 涔熼渶瑕佷竴鑷达紝鐒跺悗璁剧疆浠g悊鏉ョ洃鍚粴鍔ㄤ簨浠躲€?/p>
閭d箞鏈€鍚庝竴鍙ユ槸浠€涔堟剰鎬濆憿锛?/p>
鍥犱负 ScrollView 浼氭嫤鎴叾涓嬮潰鐨?View 鐨勮Е鎽镐簨浠讹紝杩欐牱鎴戜滑鐨?Cell 灏辨棤娉曡閫変腑浜嗐€傚洜姝ゆ垜浠繀椤昏 ScrollView 鐨?userInteractionEnabled 灞炴€т负 false锛岃繖鏍峰畠灏变笉鍝嶅簲骞舵嫤鎴Е鎽镐簨浠朵簡锛屼絾鏄皝鏉ヨ瀹冩粦鍔ㄥ憿锛熷ソ鍦?iOS 鎶婂畠鍐呴儴鐨勪竴涓?UIPanGestureRecognizer 寮€鏀句簡鍑烘潵锛屾垜浠氨鍙互灏嗗叾瀚佹帴鍒?TableView 鐨勮韩涓婏紝杩欐牱 TableView 灏辨棦鍙互鍝嶅簲鐐瑰嚮锛屼篃鍙互鍝嶅簲婊氬姩浜嗐€?/p>
绱ф帴鐫€锛屾垜浠渶瑕佺煡閬?TableView 鐨勫唴瀹规湁澶氬ぇ锛岃繖涓ぇ灏忛渶瑕佽绠楋紝閭d箞浠€涔堟椂鍊欒繖涓ぇ灏忎細琚绠楀畬鍛紵灏辨槸鍦ㄤ笅闈㈣繖涓唬鐞嗘柟娉曡璋冪敤鏃讹細
鎴戜滑鏇存柊 ScrollView 鐨?contentSize銆?/p>
鐒跺悗鎴戜滑鐩戝惉 ScrollView 鐨勬粴鍔ㄤ簨浠讹細
杩欏氨搴旇寰堢畝鍗曚簡锛屽垎鍒皢 x銆亂 搴旂敤鍒板搷搴旂殑灞炴€у嵆鍙紝y 杞村氨缁?TableView锛岃鍏跺彲浠ヤ笂涓嬪嵎鍔紝x 杞村氨缁欐瘡涓?cell锛岃鍏跺仛鑷繁鐨勫鐞嗐€?/p>
鏈€缁堟晥鏋滃涓嬶細锛堜笉鍔ㄥ彸閿柊鏍囩鎵撳紑锛?/p>
锛堝洤锛屽浘瓒呰繃浜嗗井淇$殑鏈€澶ч檺鍒?2 MB锛岃创涓嶄簡锛岃澶у鑴戣ˉ鍚?锛?/p>
瀹炵幇鍜屼笂闈㈠樊涓嶅锛屽紑澶村0鏄庨儴鍒嗕竴鑷达紝浠g悊鏂规硶濡備笅锛?/p>
杩欓噷涓轰簡瀹炵幇鍚搁檮鏁堟灉锛屾垜鐢ㄥ埌浜?scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer) 杩欎釜鏂规硶锛屽畠鐨勪綔鐢ㄦ槸閫氱煡浠g悊鐢ㄦ埛宸茬粡鏉惧紑鎵嬫寚锛岀幇鍦ㄨ鍥惧皢浼氫互涓€涓€熷害鍗峰姩鍒颁竴涓洰鏍囦綅缃紝骞朵笖杩欎釜鐩爣浣嶇疆鏄彲浠ョ敤鎸囬拡淇敼鐨勩€傛墍浠ユ垜鍙渶鍒ゆ柇涓€涓嬭鍥惧皢浼氭粴鍔ㄥ埌浠€涔堜綅缃紝濡傛灉瓒呰繃涓€涓复鐣屽€硷紝灏辫瀹冨畬鍏ㄦ粴鍔ㄥ嚭鏉ワ紝鍚﹀垯灏辨粴鍔ㄥ洖鍘汇€?/p>
鏈枃閫氳繃杩欎袱涓皬渚嬪瓙甯屾湜鑳借捣鍒版姏鐮栧紩鐜夌殑浣滅敤锛屽叾瀹炶澶氭晥鏋滅殑瀹炵幇閮藉彲浠ョ壍鎵埌 ScrollView 鐨勮繍鐢ㄣ€傛渶鍚庤繕鏄帹鑽愬ぇ瀹跺叧娉ㄤ竴涓?WWDC锛屽緢澶?Session 閮藉緢鏈夊惎鍙戞€с€?/p>
鍙傝€?Session锛?/p>
WWDC 2014 – Session 235: Advanced Scrollviews and Touch Handling Techniques
WWDC 2013 – Session 217: Exploring Scroll Views on ios 7
WWDC 2012 – Session 223: Enhancing User Experience with Scroll Views
WWDC 2011 – Session 104: Advanced ScrollView Techniques
以上是关于iOS UIScrollView 浣犲彲鑳戒笉鐭ラ亾鐨勫鎶€娣阀的主要内容,如果未能解决你的问题,请参考以下文章