Re: addsubview
Re: addsubview
- Subject: Re: addsubview
- From: Aaron Burghardt <email@hidden>
- Date: Sat, 21 Apr 2012 08:30:28 -0600
On Apr 20, 2012, at 10:49 AM, koko <email@hidden> wrote:
> Ah, ain't Cocoa a great, modern (85?) environment.
Ah yes, snarky potshots are time-proven way to get help from a forum. May I suggest you consider an alternative approach: http://www.catb.org/~esr/faqs/smart-questions.html.
>
>
> On Apr 20, 2012, at 9:23 AM, koko wrote:
>
>> Here is the code that creates and adds the subview ....The method -makeAndWrapViews is in the custom class of the NSTabViewItem view.
>>
>> I do get -viewDidMoveToSuperview when addSubview is called.
>>
>> When the tab is clicked I do get viewdidMoveToWindow
>>
>> But I never see thev iew!
>>
>> - (void)makeAndWrapViews
>> {
>> NSRect frame = [self frame];
>> frame.size.width = 288;
>> frame.size.height = 259;
>>
>> m_text = [[NSPDText alloc] initWithFrame:frame];
>>
>> BOOL text = [NSBundle loadNibNamed:@"NSPDText" owner:m_text];
>>
>> if (text)
>> {
>> [self addSubview:m_text];
>> }
>> }
>>
Is NSPDText a subclass of NSView? If so, I guess it should work, but it's unusual to have a view be the owner of a NIB. You are mixing view and controller layers, so you may want to consider a different design just to clarify the roles of objects.
It appears you expect the content of the NIB to be visible. But, you add m_text as a subview and it has no subviews; the fact that m_text is the owner of the NIB does not cause views in the NIB to be added automatically to the owner. if m_text has an outlet to a view, that will be connected, but then m_text must add the view to itself as a subview. Try this quick experiment: in NSPDText, override -drawRect and scribble in the view, such as (written in Mail):
- (void)drawRect:(NSRect)rect {
[@"Hello World" drawAtPoint:rect.location withAttributes:nil];
}
Aaron
>>
>>
>>
>>
>> On Apr 20, 2012, at 7:56 AM, koko wrote:
>>
>>> Good questions.
>>>
>>> As an experiment, in the same method in which I create and add the subview which is not displaying I create an NSButton using the same frame as for the subview. I add the NSButton and it displays.
>>>
>>> So, I am sure the NSTabviewItem view is correct.
>>>
>>> As to the subview, I added a delegate method for when the tab is clicked. Breaking there and dumping the subviews I see my subview in the view hierarchy.
>>>
>>> This seems such a trivial task that I am quite puzzled.
>>>
>>> -koko
>>>
>>>
>>> On Apr 19, 2012, at 9:27 PM, Keary Suska wrote:
>>>
>>>> On Apr 19, 2012, at 5:34 PM, koko wrote:
>>>>
>>>>> I get the view for an NSTabViewItem.
>>>>>
>>>>> To this view I add a subview.
>>>>
>>>> How do you (in code) identify the correct NSTabViewItem, retrieve the view and add the subview? What is the frame of the subview?
>>>>
>>>>> In the debugger displaying the subviews of view I see the subview.
>>>>
>>>> How do you know it is the correct/same subview?
>>>>
>>>>> When the NSTabViewItem displays the subview is not being shown. The view does display.
>>>>>
>>>>> The subview is not set hidden in IB.
>>>>>
>>>>> Why would I not see the subview?
>>>>
_______________________________________________
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