• 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: Adding Constraints in Code
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adding Constraints in Code


  • Subject: Re: Adding Constraints in Code
  • From: Dave <email@hidden>
  • Date: Mon, 14 Sep 2015 17:46:05 +0100

> On 14 Sep 2015, at 17:39, Thomas Wetmore <email@hidden> wrote:
>
>
>> On Sep 14, 2015, at 11:54 AM, Dave <email@hidden> wrote:
>>
>> I tred this:
>>
>> 	myDetailView = [myDetailViewController getPrimaryView];
>> 	[self.pValidationListStackView addView:myDetailView inGravity:NSStackViewGravityTop];
>>
>> 	myConstraintsViewDictionary = [[NSMutableDictionary alloc] init];
>> 	[myConstraintsViewDictionary setObject:self.pValidationListStackView forKey:@"StackView”];
>> 	[myConstraintsViewDictionary setObject:myDetailView forKey:@"DetailView”];
>>
>> 	myConstraintsArray = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[DetailView]|" options:0 metrics:nil views:myConstraintsViewDictionary];
>> 	[myDetailView addConstraints:myConstraintsArray];
>>
>> I assumeI don’t need to add StackView to the Dictionary but it won’t do any harm?
>>
>> When I run the above I get this error:
>>
>> Unable to install constraint on view.  Does the constraint reference something from outside the subtree of the view?  That’s illegal. constraint:<NSLayoutConstraint:0x610000083de0 H:|-(0)-[LTWDetailXView]   (Names: LTWDetailXView:0x608000181930, '|':NSStackViewContainer:0x6300001a0540 )> view:<LTWDetailXView: 0x608000181930>
>
> The error message is saying that either your detail view or its container view are not within the view tree of the receiver’s or any of the receiver’s ancestors’ view trees. You need to figure out whether that is or is not true. I tend to believe error messages until they are proven wrong. They are my friends.
>

If you look at the code, I’ve just added the DetailView to the StackView, so by definition DetailView is a Subview of StackView isn’t it?

>> Any idea what could be wrong?
>
> Yes — I would believe the error message and assume that the constraint references something from outside the subtree of the view. This would mean that, at the point you are trying to add the constraints, either you haven’t built the full view structure yet, or the structure you have built isn’t what you think it is.

The structure was in my OP:

NSScrollView						Setup in NIB
	NSFlippedClipView				Setup in NIB
		NSStackView				Setup in NIB
			LTWDetailXView		(added dynamically in code).

Cheers
Dave


_______________________________________________

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


  • Follow-Ups:
    • Re: Adding Constraints in Code
      • From: Dave <email@hidden>
References: 
 >Adding Constraints in Code (From: Dave <email@hidden>)
 >Re: Adding Constraints in Code (From: Iain Holmes <email@hidden>)
 >Re: Adding Constraints in Code (From: Dave <email@hidden>)

  • Prev by Date: Re: Identifying a specific Mac model
  • Next by Date: Re: Adding Constraints in Code
  • Previous by thread: Re: Adding Constraints in Code
  • Next by thread: Re: Adding Constraints in Code
  • Index(es):
    • Date
    • Thread