Re: Catalina scroll view issues
Re: Catalina scroll view issues
- Subject: Re: Catalina scroll view issues
- From: Rob Petrovec via Cocoa-dev <email@hidden>
- Date: Sat, 14 Dec 2019 13:08:15 -0700
From
https://developer.apple.com/documentation/appkit/nsclipview/1532142-copiesonscroll?language=objc
copiesOnScroll
A Boolean value that indicates if the clip view copies rendered images while
scrolling.
Discussion
When the value of this property is YES, the clip view copies its existing
rendered image while scrolling (only drawing exposed portions of its document
view); when it is NO, the view forces its contents to be redrawn each time.
From NSClipView.h:
@property BOOL copiesOnScroll API_DEPRECATED("NSClipView will always
minimize the area of the document view that is invalidated. To force
invalidation of the document view, use -[NSView setNeedsDisplayInRect:].",
macos(10.0, API_TO_BE_DEPRECATED));
The way I read that is that the clip view now always behaves as if copyOnScroll
is YES. So even though you have it set to NO, the scroll/clip view will behave
as if it was true. That may be your problem here and explain the difference in
behavior for you between Mojave and Cataline. Good luck.
—Rob
> On Dec 14, 2019, at 12:20 PM, Gary L. Wade via Cocoa-dev
> <email@hidden> wrote:
>
> I see from your personal web site you know Hebrew. Is it possible the
> affected/non-drawing pages contain some RTL text while those that don’t only
> contain LTR? I have seen some bugs with RTL text within NSTextView where the
> text was/wasn’t drawing in a similar manner. Do you operate at a CoreText
> level?
> --
> Gary L. Wade
> http://www.garywade.com/
>
>> On Dec 14, 2019, at 6:17 AM, Redler Eyal via Cocoa-dev
>> <email@hidden> wrote:
>>
>> Hi All,
>>
>> I'm getting reports from users complaining about a strange display issue on
>> Catalina with my app.
>> My app is a word-processor (not based on the cocoa text system) whose main
>> display shows the pages of the document. Every page is a separate view and
>> all the pages are subviews of one big view which resides inside a scroll
>> view.
>>
>> The problem is that when with some documents, sometimes, when the user
>> scrolls down the document, some pages are not drawn or even partially drawn.
>> When the user clicks the place where the page is supposed to appear, it
>> shows up.
>> Another interesting bit is seems that while the scroll view background is
>> drawn, the document views (the view containing the page views) drawRect is
>> not called or at least not taking effect, I can tell because the pages on
>> this view cast a shadow which is drawn by drawing blank squares on the
>> document view with a transparency layer.
>> Last bit of info, copiesOnScroll set to NO for this view and I see that this
>> property is deprecated on Catalina.
>>
>> So far I'm struggling with this for a couple of weeks, I wasn't able to
>> reproduce this at all on my machine.
>> I'm really desperate for an answer and while I'm not expecting anyone here
>> to provide me with one (wouldn't object, of course :-)) I would love if
>> people reading this might try to speculate to the causes of this or perhaps
>> if you have any direction as to what to test on my users machines in order
>> to be able to reproduce this.
>>
>> Thanks
>>
>> Eyal Redler
>> ------------------------------------------------------------------------------------------------
>> "If Uri Geller bends spoons with divine powers, then he's doing it the hard
>> way."
>> --James Randi
>> www.eyalredler.com
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden