2010-11-18 16 views
6

मैं सोच रहा हूं कि नीला रूपरेखा से कैसे छुटकारा मिल सकता है कि कोको ने एनएसटीबल व्यू/NSOutlineView में पंक्तियों के चारों ओर आकर्षित किया है जब उन पर राइट-क्लिक करें।एनएसटीबल व्यू: राइट-क्लिकेड पंक्तियों पर नीली रूपरेखा

NSTableView Outline http://tobidobi.com/nstableview_outline.png

यह एक क्लासिक "आकर्षण" और न ही एक "फोकस अंगूठी" अगर मैं गलत नहीं हूँ हो प्रतीत नहीं होता है - तो, ​​यह क्या है, है वास्तव में?

मैं वर्तमान में कस्टम NSCells पूरी तरह से अपने आप को ड्राइंग कर रहा हूँ - लेकिन मैं पता लगा सकते हैं कि कैसे या तो
* इस रूपरेखा अपने आप से, आकर्षित करने के लिए भी, या
* यह से छुटकारा पाने के लिए, या
* कम से कम अपना रंग बदलें

कोई संकेत बहुत स्वागत है! धन्यवाद!

उत्तर

12

दुर्भाग्यवश मुझे ऐसा करने के लिए किसी भी दस्तावेज तरीके से अवगत नहीं है, अपनी तालिका दृश्य प्रतिस्थापन लिखने से कम।

विधि ओवरराइड करने के लिए है: तो आप गैर-दस्तावेजी तरीकों पर भरोसा करने के लिए क्या आप भविष्य में करना चाहते हैं नहीं करना पड़ेगा

- (void)drawContextMenuHighlightForRow:(NSInteger)row; 

एप्पल के साथ बढ़ा हुआ अनुरोध दर्ज करें। ऐसा लगता है कि अन्य दो तालिका दृश्य हाइलाइट विधियों को 10.6 में अनुकूलन किया गया था लेकिन यह एक नहीं था। मैंने हमेशा सोचा है कि यह थोड़ा सा दिख रहा था, लेकिन यह इंगित करना आवश्यक है कि मेन्यू किस संदर्भ में संदर्भित है (आवश्यक रूप से हाइलाइट की गई पंक्ति के समान नहीं)।

+0

कि चाल किया! धन्यवाद, निकोलस! – Tobidobi

+0

प्रकार पैरामीटर गलत है !! यह 64-बिट में सही काम नहीं करेगा। –

+0

धन्यवाद, मैं थोड़ी देर के लिए 64-बिट कोको नहीं कर रहा था। –

1

मेरे NSTableView * mainTableView बस से पहले प्रासंगिक मेनू खोलता उप वर्गीकृत इसलिए मैंने इसे से छुटकारा मिला नहीं है:

- (void)menuWillOpen:(NSMenu *)menu{ 
    NSInteger rightClicked = [mainTableView clickedRow]; 
    [mainTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:rightClicked] byExtendingSelection:NO]; 
    [mainTableView deselectRow: rightClicked]; 
    [mainTableView reloadData]; 
    { 
+0

पुनः लोडडेटा अनावश्यक है, लेकिन यह जाने का तरीका है। –

संबंधित मुद्दे