UITableViewCell
و UITableViewHeaderFooterView
باستخدام تخطيط Autolayout
[ Xib
و StoryBoard
و Masonry
و SnapKit
و SDAutoLayout
...]، ويدعم الشاشات الأفقية والعمودية، ويدير ذاكرة التخزين المؤقت للارتفاع تلقائيًا داخليًا، ويتم متوافق مع سويفت. pod 'UITableViewDynamicLayoutCacheHeight'
pod install
#import <UITableViewDynamicLayoutCacheHeight/UITableViewDynamicLayoutCacheHeight.h>
pod 'UITableViewDynamicLayoutCacheHeight/Category'
Carthage هو مدير تبعية لامركزي يبني تبعياتك ويزودك بأطر عمل ثنائية لدمج UITableViewDynamicLayoutCacheHeight، أضف ما يلي إلى ملف Cartfile الخاص بك.
github "liangdahong/UITableViewDynamicLayoutCacheHeight" ~> 5.2 . 0
clone https://github.com/liangdahong/UITableViewDynamicLayoutCacheHeight.git
]UITableViewDynamicLayoutCacheHeight
بالكامل في مشروعك. Cell
باستخدام Xib
"كما أنها تدعم تخطيط التعليمات البرمجية النقي، طالما يتم استخدام التخطيط التلقائي ."- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
. UITableView
自动算高
自动缓存高度
، ويكون التأثير كما يلي: سويفت Xib التجريبي
سويفت العرض التوضيحي لتخطيط التعليمات البرمجية النقية
لمزيد من الاستخدام، يرجى الرجوع إلى واجهة برمجة التطبيقات (API) الخاصة بالملف UITableView+BMDynamicLayout.h.
قم بإنشاء الخلية مقدمًا، ثم املأ المحتوى، ثم فرض التخطيط، ثم احصل على العرض بأكبر MaxY في الخلية، ثم خذ MaxY لهذا العرض ليكون الارتفاع المطلوب للخلية [لذا保证Cell 中的View 的MaxY 最大的值即为Cell 需要的高度
الحاسمة]، وتتم إدارة عمليات حفظ ومسح ذاكرة التخزين المؤقت تلقائيًا داخليًا.
يجب أن يكون الجميع على دراية جيدة بأوجه القصور في الحساب العالي التلقائي للنظام، مثل: عدم وجود تخزين مؤقت، وحسابات متكررة، وقفزات في الواجهة، ولأنه يتم التمرير والحساب في خلايا ذات تخطيطات معقدة، فهناك بعض المشاكل، فهو يدعم iOS8+ فقط. ويجب أن يملأ التخطيط الخلية بأكملها في التخطيط. في بعض السيناريوهات، يجب تعيين الأولوية، وإلا سيتم الإبلاغ عن تعارضات القيود.
UITableView-FDTemplateLayoutCell لقد استخدمت هذا الإطار في البداية، وفي الوقت نفسه، كان تصميم واجهة برمجة التطبيقات يعتمد أيضًا على FDTemplateLayoutCell، شكرًا لك على ذلك، ولكن هناك بعض الأخطاء التي لم يتم حلها ملء الخلية بأكملها تحتاج بعض المشاهد إلى تحديد الأولويات أثناء التخطيط، وإلا سيتم الإبلاغ عن تعارضات القيود، لذلك تم ترحيلها إلى UITableViewDynamicLayoutCacheHeight.
عيوب UITableViewDynamicLayoutCacheHeight هي:
بناءً على هذا الإطار، تم تنفيذ وظيفة WeChat Moments البسيطة بشكل عرضي قبل بضع سنوات، وأنا لست مستعدًا لتعديلها.
تم إصدار UITableViewDynamicLayoutCacheHeight بموجب ترخيص MIT، راجع الترخيص للحصول على التفاصيل.