내 앱에는 InspectorBar를 사용하는 NSTextView가 있습니다. 그러나, 그냥이 같은 창 상단에 앉아 : 나는 현재 NSImageView입니다 어두운 가로 막대에 더 아래로 위치 할 수 있도록하려는코코아 : Inspector Bar 위치를 변경하는 방법
. setFrame은 효과가없는 것 같습니다. 어떻게해야합니까?
편집 : 현재 다른 사람의 프로젝트 구현을 수정 중입니다. 아래에서 볼 수 있듯이 관리자는 검사기 막대를 이동할 수 있었고 NSToolbar를 사용하지 않았습니다. 그래서 가능해야합니다.
- (void) addStyleBar
{
NSArray* subviews = [self.window.contentView superview].subviews;
[self.styleBar removeFromSuperview];
[subviews enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOL *stop)
{
if (![obj isKindOfClass: [MainView class]])
{
self.styleBar = obj;
}
}];
[self.styleBar setFrame: NSMakeRect(300.0f, 2.0f, CGRectGetWidth(self.styleBar.frame), CGRectGetHeight(self.bounds))];
[self addSubview: self.styleBar];
}
하지만 내 프로젝트에 영향을주지 않습니다
여기이 사람이 달성 방법입니다.
EDIT 2 : 그래서 같은 제약 조건을 추가하면 : 여기서
[[self.leftColumnVC.textView.window.contentView superview] addConstraint:[NSLayoutConstraint constraintWithItem:inspectorBarView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:formattingBarBackground attribute:NSLayoutAttributeTop multiplier:1 constant:0 ]];
어두운 회색 막대 위의 첫 번째 이미지에서 보여진 formattingBarBackground이다. 내가 이렇게하면 나는이 얻을 :
이 좋은 상단에있는 막대에 대한 예약 된 공간이 없기 때문에, 그리고 윈도우의 파단을 반복하여 나는 아직도, NSInspectorBar에 대한 참조를 얻을 수 있습니다 아직 거기에있어, 그것은 단지 보이지 않는다. 그것은 formattingBarBackground 이미지 뷰 뒤에 숨어 있습니까? 그렇다면 어떻게 앞에 가져갈 수 있습니까?
답변 해 주셔서 감사합니다. 내 편집을 참조하십시오. –
@JamesHarpe Yikes! 그건 분명히 * 지원되지 않습니다. 미안, 너를 도울 수 없어. :( –
우리는 궁극적으로 NSToolbar를 사용하기로 결정했습니다. 감사합니다! –