2014-05-16 6 views
0

나는 tabView를 가지고 있다고 가정합니다. 각각의 tabViewItem에는 webView가 포함되어 있습니다. 각 webView가 렌더링하는 HTML 페이지의 document.title으로 각 탭의 제목을 설정하고 싶습니다.컨테이너보기의 속성 변경

따라서 기본적으로 각 NSTabViewItem은 이며 [tabViewItem setView:webView];입니다. 이제 웹보기의 didFinishLoadForFrame 대리인에게 NSString *title = [sender stringByEvaluatingJavaScriptFromString:@"document.title"]을 수행하여 HTML 페이지의 제목을 검색 할 수 있습니다. sender 개체에만 액세스 할 수 있습니다. 따라서 내 질문에 NSTabViewItem에 내 수신자이 포함될 수 있습니다. 즉, 무엇을해야하는 것은 당신이 sending it -superview에 의해 어떤 NSView의의 부모를 얻을 수있는 < >

[<getNSTabViewItemFromSender:sender> setLabel:title] 

답변

0

안에 넣어.

+0

그럼 실제로 여기가 정확히 부모 아니다 : 1) 내가했던'[tabViewItem SetView : 절대 좌표 웹보기]가'너무'tabViewItem' 내 웹보기의 수퍼하지 ​​않고, 2) 수퍼는 NSView의 객체를 반환 내가 원한 것은 NSTabViewItem입니다. – amaurymartiny

0

웹보기 개체가 탭보기로 설정되어 있으므로 특정 웹보기를 사용하는 탭 항목을 찾을 수 있습니다.

당신은 당신은 당신의 웹보기가 들어있는 탭 항목의 레이블을 설정할 수 있습니다, 그리고 ... NSTabView (이 같은)의 범주로

- (NSTabViewItem*)tabViewItemWithView:(NSView*)view { 
    for (NSTabViewItem *item in [self tabViewItems]) { 
     if (item.view == view) { 
      return item; 
     } 
    } 
    return nil; 
} 

을이를 구현할 수 있습니다. 때문에

[[tabView tabViewItemWithView:webView] setLabel:label];