답은 사용자가 검사기 바를 더 이상 제어 할 수 없다는 것입니다. 문서에는 아무 것도 없기 때문에 아무것도 없습니다. 애플이 말하는, 그것을 사용하거나 사용하지 마십시오.
그러나 조금만 살펴보면 검사기 막대가 매우 흥미로운 컨트롤이라는 것을 알 수 있습니다. 그것은 텍스트보기의 일부로 표시되지 않고 "창보기"자체에 포함됩니다 (개인적으로). "창보기"라고 말하면 콘텐츠보기의 수퍼 뷰를 의미합니다.
는 당신이 "창보기"의 서브 뷰를 나열하는 경우 :
NSLog(@"%@", [self.testTextView.window.contentView superview].subviews);
당신이와 끝까지 : 당신이 볼 수 있듯이
2012-08-02 15:59:30.145 Example[16702:303] (
"<_NSThemeCloseWidget: 0x100523dc0>", // the close button
"<_NSThemeWidget: 0x100525ce0>", // the minimize button?
"<_NSThemeWidget: 0x100524e90>", // the maximize button?
"<NSView: 0x100512ad0>", // the content view
"<__NSInspectorBarView: 0x100529d50>", // the inspector view
"(<NSToolbarView: 0x10054e650>: FD2E0533-AB18-4E7E-905A-AC816CB80A26)" // the toolbar
)
, AppKit
는 같은 레벨로의 관리자 줄을 넣습니다 다른 최상위 창 컨트롤. 이제는 비공개 API의 영역에 들어서지만 "창보기"로 간단하게 조작하면 어떤 앱도 거부되지 않습니다.
당신은 여기에서 __NSInspectorBarView
에 대한 참조를 얻을 수을 시도 할 수 있습니다. 그것은 바로 콘텐츠보기 후 항상 서브 뷰는 것 같다, 그래서 이런 일이 작동 :
NSArray *topLevelViews = [self.testTextView.window.contentView superview].subviews;
NSUInteger indexOfContentView = [topLevelViews indexOfObject:self.testTextView.window.contentView];
if (indexOfContentView + 1 < topLevelViews.count) {
NSView *inspectorBar = [topLevelViews objectAtIndex:indexOfContentView + 1];
NSLog(@"%@", inspectorBar);
}
NSLog(@"%@", topLevelViews);
을이 바로 애플이 최상위 뷰의 순서를 변경하는 경우 나누기 때문에, 좋은 생각되지 않을 수도 있습니다 생산을위한 신청서. 또 다른 아이디어는 다음과 같습니다 NSClassFromString()
의 사용하지만, 앱 스토어 리뷰 가이드 라인을 통과 할 경우 다시 한번, 그것은 개인의 API에 의존 이후 내가 모르는
NSView *inspectorBarView = nil;
for (NSView *topLevelView in topLevelViews) {
if ([topLevelView isKindOfClass:NSClassFromString(@"__NSInspectorBarView")]) {
inspectorBarView = topLevelView;
}
}
NSLog(@"%@", inspectorBarView);
.
즉, 일단 검사기 막대보기에 대한 참조를 얻으면 문제가 너무 잘 작동하지 않습니다.당신은 아래에 그 위치를 다시 시도 할 수 있습니다 :
if (inspectorBarView) {
NSRect newFrame = inspectorBarView.frame;
newFrame.origin = NSZeroPoint;
[inspectorBarView setAutoresizingMask:NSViewMaxYMargin | NSViewMaxXMargin];
[inspectorBarView setFrame:newFrame];
}
그러나 당신이 misdrawn 도구 모음으로 끝날, 그래서 더 많은 작업이 필요가있을 것입니다 :
내 아이디어가 변화를 시도하는 것 내용보기의 높이가 회색 왼쪽 영역을 덮습니다 (창의 크기가 조정될 때마다 수행해야 할 것입니다. 자동 크기 조정 마스크로 수정하면 더 쉽게 작업 할 수 있습니다). 그리고 사용자 정의 도구 모음의 하단에 사용자 정의 배경을 그립니다 .
편집
아, 그리고 당신도 이것에 대한 기능 요청을 제출해야한다. bugreport.apple.com
그것은 다른 프로그래머를위한 유용한 정보를 제공 할 수 결코 너무 늦은! :) –