2012-10-01 2 views
0

을 변경하지 NSPathControl. 다른 '미리 정의 된'위치를 선택하려고 시도하면 변경 사항이 발생하지 않습니다.
내가 다음 문제가 그것의 가치 '

예 :

 
------------- 
choise... 
------------- 
Some macBook 
Some desktop 
Some HD 
and etc. 
------------- 

기본적으로, 예를 들어, '일부 맥북'를 선택하지만, 내가 다른 하나는, '일부 HD'예를 들어, 변경이없는 것을 선택하려고 할 때 발생합니다 팝 팝업 메뉴가 사라지고 기본 선택 상태가 사용자에게 표시됩니다.
아무도 내가이 동작을 왜하는지 설명 할 수 있습니까?
감사합니다.

답변

0

이 동작이 왜 존재하는지 모르겠지만 사용자에게는 매우 혼란 스럽습니다.

나는 일반적으로 그냥, 위임 방법을 구현하여 "사용 안함"이 도움이

- (void)pathControl:(NSPathControl *)pathControl willPopUpMenu:(NSMenu *)menu { 
    // We don't want to show the useless "parent folders" menu items, as they are very confusing. 
    while ([[menu itemArray] count] >= 4) { 
     [menu removeItemAtIndex:3]; 
    } 
} 

희망!

0

설치 및 NSPathControl

를 연결 .H

@property (nonatomic, weak) IBOutlet NSPathControl pathControl; 

하는 .m IB에서

-(void) awakeFromNib { 
// Give Path control some value 
     [_pathControl setURL:[NSURL fileURLWithPath:@"/Users/Username/MyPath" isDirectory:YES]]; 
} 

연결 작업입니다.

* 참고 : 바인딩 개체를 사용하여 연결하면 값을 반환하지 않습니다. * 바인딩을 사용하는 경우 일부 KVC 함정을 사용하는 솔루션이 필요합니다.

-(IBAction) pathControlClicked:(id)sender { 
NSPathControl* pathCntl = (NSPathControl *)sender; 

NSPathComponentCell *component = [pathCntl clickedPathComponentCell]; // find the path component selected 
[pathCntl setURL:[component URL]];   // set the url to the path control 


_ivarStringVariable=component.URL.path; 

// If you want to configure pathComponentCells here is place to do it. 

} 
관련 문제