2011-02-12 5 views
0

기본적으로 선택 가능한 텍스트 항목 목록 (텍스트 목록, 단추가없는 베젤, 배경 등)을 만들려고합니다. 나는 이것이 NSTableview와 함께 일어날 수 있다고 생각하지만, 테이블 뷰를 완전히 투명하게 만들고 여전히 기능적으로 만들려고 노력할 때 어떤 문제가 생겼다. 일일이, 나는 프로그램 적으로 생성하고 배경이나 베젤없이리스트에서 내 뷰에 추가하는 NSButtons로 처리하려고합니다. 그러나 단추를 투명하게 만들고 베젤없이 속성을 설정하면 단추의 클릭 가능 영역이 단추 제목의 텍스트로 단독 지정됩니다. 단추가 있어야하는 다른 곳 (제목 주변)을 클릭하면 더 이상 작동하지 않습니다. 여기에 제가 사용하고있는 코드가 있습니다. 클릭을 유도하기 위해 단추를 만드는 직사각형의 아무 곳이나 클릭 할 수 있기를 원합니다. 참고로 NSSwitchButton을 체크 상자 이미지없이 시도한 것은 똑같습니다. 당신의 도움을 주셔서 감사합니다!NSButton의 선택 가능 영역

for(NSString *theTask in theTasks){ 
    NSButton *theCheckBox = [[[NSButton alloc] initWithFrame:NSMakeRect(xCoordinate + 25, yCoordinate + ([tasksWindow frame].size.height/2) - 60, [tasksWindow frame].size.width - 40, 25)] autorelease]; 
    [theCheckBox setButtonType:NSToggleButton]; 
    [theCheckBox setAction:@selector(taskChecked:)]; 
    [[theCheckBox cell] setBackgroundColor:[NSColor clearColor]]; 
    [[theCheckBox cell] setBordered:NO]; 
    NSAttributedString *theTitle = [[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@", theTask] attributes:[NSDictionary dictionaryWithObject:[NSColor whiteColor] forKey:NSForegroundColorAttributeName]] autorelease]; 
    [theCheckBox setAttributedTitle:theTitle]; 
    [[tasksWindow contentView] addSubview:theCheckBox]; 
    yCoordinate -= 20; 
} 

업데이트 : 취소 배경 색상을 설정하면 (국경없는 제거) 버튼은 전체 범위 내에서 클릭에 응답하지 않을 것으로 보인다 무엇인지 확인 할 수있었습니다.

답변

0

내 자신의 질문에 대답하기 위해 투명 NSWindow (마우스 이벤트 거부) 상단에 투명 버튼을 겹쳐서 표시 한 것입니다. 마우스 이벤트를 무시하지 않도록 창을 설정하면 동작이 사라졌습니다.