خطوط فاصل الخلايا الأفقية القديمة لا تتمركز لأعلى أو لأسفل

StackOverflow https://stackoverflow.com/questions/1919166

  •  20-09-2019
  •  | 
  •  

سؤال

لقد كتبت بعض التعليمات البرمجية Monotouch لعرض Nib'less ulieview وعلى طريقة العرض تبدو مكلفة مع بيانات الخلية على العرض الأولي. ومع ذلك، عندما أتس التمرير لأسفل لعرض المزيد من البيانات، في نهاية المطاف، في نهاية المطاف، تضم باتن شبكة مزدوجة من خطوط فاصل الخلايا الأفقية الثابتة التي لا تتحرك مع إجراء التمرير بالإضافة إلى مجموعة أخرى أو خطوط فاصل خلية أفقية متباعدة بشكل صحيح والتي تتحرك التمرير لأسفل العمل.

بعد التمرير مرة أخرى إلى أعلى عرض الجدول، فإن الأفقا الثابتة الثابتة والديناميكية مزامنة تماما وشاشة تبدو طبيعية. مزيد من التمرير يعيد المشكلة.

أنا أستخدم كائنات Apesterviewcell الافتراضية لملء صفوف الجدول.

ربما فشلت في تكوين شيء ما هو منشئ الواجهة أمر طبيعي. أيه أفكار؟ نأمل أن يكون الشخص الموضوعي-C قادرا على تفسير رمز .NET.

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();

    _tableView = new UITableView()
    {
        Source = new TableSource(),
        AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth,
        BackgroundColor = UIColor.White
    };
    _tableView.SizeToFit();
    _tableView.Frame = new RectangleF ( 0, 0, this.View.Frame.Width, this.View.Frame.Height );
    this.View.AddSubview( _tableView );

التحديث 1: كنت قلقا من أن مجموعة إضافية من خطوط فاصل الخلايا الأفقية كانت تنزف من الرؤية السابقة المقدمة في مكدس تحكم الملاحة. لذلك أعيد طلب التطبيق لجعل الجدول إشكالية العرض الأول المعروض في بدء تشغيل التطبيق ولكن ظلت المشكلة.

تحديث 2: أضيف

tableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;

هذا يتجنب المجموعة المزدوجة من الخطوط الأفقية، لكنني ما زلت متركا مع الأفقات الثابتة الثابتة التي تتقاطع من خلال منتصف الخلايا كتخفيض عرض الجدول.

التحديث 3: هل لديك نظرية غامضة هذا شيء يجب القيام به مع عدم تطابق تكوين تكوين ارتفاع الخلايا أو مشكلة ملء الخلفية، وبالتالي قد تمثل الخطوط الأفقية بكسل غير مصبوبة في عرض الجدول. لست متأكدا من كيفية اختبار هذه النظرية؟

هل كانت مفيدة؟

المحلول

وجدت الحل. تم اعتماد مثال التعليمات البرمجية أعلاه من تطبيق نموذج مونوتووت للحزب الثالث في Blogshere. يبدو أن هذا الرمز ينشئ اثنين من المتداخين المتداخلة تماما وربما كانت خطوط الشبكة الثابتة من OtherView الفارغة والأعمق في ترتيب Z لم يستجب لأي إيماءات تمرير باللمس.

ليست هناك حاجة لإرساء كائن قابل للانفصال يدويا كما هو موضح أعلاه لأن فئة ApartyViewController تفعل ذلك بالنسبة لنا، لذلك استدعاء AddSubView () غير ضروري.

هنا هو الرمز الذي يعمل بالنسبة لي:

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();
    this.TableView.Source = new TableSource();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top