سؤال

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

والشكر

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

المحلول

هل تعيين setDrawsBackground وcopiesOnScroll propertes إما NSScrollView أو NSClipView؟

وأول شيء أود أن أقترح تحول قبالة "توجه الخلفية" ملكا للNSScrollView:

[myScrollView setDrawsBackground:NO];

لاحظ أن هذا يجب تعيين على NSScrollView، و<م> لا على NSClipView المضمنة.

والمقتطف التالي من في قد يكون التوثيق ذات الصلة:

<اقتباس فقرة>   

إذا NSScrollView الخاص يرفق على NSClipView إرسال رسالة setDrawsBackground: مع معلمة من NO إلى NSScrollView لديه تأثير إضافي من إرسال NSClipView رسالة setCopiesOnScroll: مع معلمة من NO. الآثار الجانبية للارسال رسالة setDrawsBackground: مباشرة إلى NSClipView بدلا سيكون ظهور "مسارات" (بقايا من الرسم السابق) في عرض المستند كما هو تمريره ذلك.

نصائح أخرى

ويبدو أن حقل النص ليس حتى في منطقة التمرير ... هل أنت متأكد من شيء يكون لا تداخل ذلك؟

وكان لي مشكلة مماثلة - التحف تتطور عندما يتم تضمين NSTextView في scrollview آخر

(أي NSTableView).

والتفت في الواقع <م> على وsetdrawsbackground، ثم أضاف لطيف اللون لجعلها تختفي مرة أخرى.

-(void)awakeFromNib{
    NSScrollView *scroll = [self enclosingScrollView];
    [scroll setBorderType:NSNoBorder];
    [scroll setDrawsBackground:YES];
    [scroll setBackgroundColor:[NSColor windowBackgroundColor]];
}

وهذا في تركيبة مع حدث عجلة التمرير اسمحوا لي أن استخدام NSTextView في NSTableView.

-(void)scrollWheel:(NSEvent *)theEvent{
    NSScrollView *scroll = [self enclosingScrollView];
   [[scroll superview] scrollWheel:theEvent];
}

وكان لي نفس المشكلة منذ بعض الوقت. أنا لا أتذكر كيف حلها.

وفي محاولة لوضع NSTextView لرأي آخر إذا كان superview هو طريقة عرض مخصصة. فقط لرؤية ما سيحدث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top