• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: view problems
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: view problems


  • Subject: Re: view problems
  • From: Quincey Morris <email@hidden>
  • Date: Sun, 21 Dec 2014 00:33:03 +0000

On Dec 20, 2014, at 16:10 , Ken Thomases <email@hidden> wrote:
>
> You've shown the constraints for the size of the subview.

There was an exchange in this thread that I just realized wasn’t posted to the list. I *think* this was accidental on the OP’s part, so I’ll copy the messages here, since they are (IMO) crucial to the issue:

> On Dec 20, 2014, at 13:50 , H Miersch <email@hidden> wrote:
>
> On 20. Dec 2014, at 21:26, Quincey Morris <email@hidden <mailto:email@hidden>> wrote:
>
>> I’d be more concerned about timing: Did you add constraints before or after layout had occurred, and if after do you need to trigger a re-layout?
>
> not sure when layout occurs, but as i say below, that method is called from drawrect. and i added several setneedslayout calls after the creation of those constraints. didn't help.
>
>> Also, your ‘setFrameSize’ method suggests you *might* still be setting the view frame somewhere. You don’t want to do that under auto-layout.
>
> drawrect calls the method that determines the required size of the view
> that method then finds out what size the view should be and sets that size using setframesize. BTW, that is the only place in that class that i call any method with set frame in its name.
> then the method sets the size constraints to the same size.
>
> so are you saying i should remove that setframesize and rely on the constraints?
>
>> If you’re using Xcode 6, you also have debugging assistance in the view hierarchy display. (It’s a button down near the continue/step controls in the debugger pane.)
>
> no, it's Xcode 5.1.1
>
>> You also have -[NSWindow visualizeConstraints:] to help figure out what’s going on.
>
> i'll see where that takes me...


and then:

> On Dec 20, 2014, at 14:33 , Quincey Morris <email@hidden> wrote:
>
> On Dec 20, 2014, at 13:50 , H Miersch <email@hidden <mailto:email@hidden>> wrote:
>>
>> not sure when layout occurs, but as i say below, that method is called from drawrect
>
> From -[NSView drawRect:]?? You most definitely should not be computing the view size there, let alone resizing the view or setting constraints.
>
> I suppose it would be fine to compute a *future* view size there, if that’s where the calculation logic is, but it’s far too late make the view that size *this* time. IAC, it would be better to factor out the calculation and do it somewhere that’s no so far too late.
>
>> drawrect calls the method that determines the required size of the view
>> that method then finds out what size the view should be and sets that size using setframesize. BTW, that is the only place in that class that i call any method with set frame in its name.
>
> If this is -[NSView setFrameSize:] (as opposed to a custom method that merely captures the size in some custom instance variables), then it’s still setting the frame, which you must not do when using auto-layout. The whole purpose of auto-layout is to set the frame for you.



_______________________________________________

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


References: 
 >Re: view problems (From: Ken Thomases <email@hidden>)

  • Prev by Date: Re: view problems
  • Next by Date: Re: system sounds in iOS
  • Previous by thread: Re: view problems
  • Next by thread: Few questions about NSTextView
  • Index(es):
    • Date
    • Thread