2012-12-02 15 views
7

में डिलीट बटन को कस्टमाइज़ करें मेरे पास TableViewCell "स्वाइप करने के लिए स्वाइप करें" की कार्यक्षमता है। मैं को बटन को कस्टमाइज़ करना चाहता हूं। enter image description hereUITableView

क्या यह संभव है, और तक कैसे पहुंचे बटन हटाएं?

+1

कोशिश इन http://stackoverflow.com/q/8603431/194544 http://stackoverflow.com/q/1615469/194544 – beryllium

+0

@beryllium तो आपकी सलाह के लिए एक कस्टम सेल बनाने के लिए हो सकता है? लेकिन मैंने पहले से ही सेल बनाया है, मैं एक इशारा पहचानकर्ता सेट करना चाहता हूं, फिर इसे एक कस्टम सेल के रूप में बनाऊंगा। – Spire

+0

आप डिलीट बटन के लिए कार्रवाई चाहते हैं या आपको डिलीट बटन –

उत्तर

6

इस विधि जब उपयोगकर्ता कड़ी चोट कार्रवाई

बस प्लेस यह आपके CustomCell में नहीं

- (void)willTransitionToState:(UITableViewCellStateMask)state 
    { 
     [super willTransitionToState:state]; 
     if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) 
     { 
      for (UIView *subview in self.subviews) 
      { 
       if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) 
       { 
        UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)]; 
        [deleteBtn setImage:[UIImage imageNamed:@"arrow_left_s11.png"]]; 
        [[subview.subviews objectAtIndex:0] addSubview:deleteBtn]; 
       } 
      } 
     } 
    } 

आप चाहिए करता है बुलाया जाएगा कोशिश करें, आपको ऐप्पल के डिफ़ॉल्ट को बदलना नहीं है विचार

+0

मुझे हटाने का एक और तरीका मिला है, लेकिन आपके प्रयास के लिए धन्यवाद। मैं इस पर शिक्षित हो जाऊंगा क्योंकि मुझे इसे अन्य परियोजनाओं के लिए जरूरी है। thx ** एक बात, मैं कस्टम सेल का उपयोग नहीं करता, यही कारण है कि मुझे डिलीट उपस्थिति को बदलने के बारे में जानकारी चाहिए, नज बटन ** – Spire

+0

की तरह दिखने के लिए यह स्पष्ट रूप से – Spire

+7

प्रश्न में लिखा गया है, यह आईओएस 7 में काम नहीं करता है – Kiddo

-1

इस प्रयास करें:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    { 
    // Your Code 
    } 
} 
+0

ठीक है, और यहां '// आपका कोड' अनुभाग में हटाएं बटन को कैसे कॉल करें? मैं इसे 'UIButtonTypeCustom' में कैसे बदल सकता हूं? – Spire

+0

यह तालिका की अंतर्निहित कार्यक्षमता में है, इसलिए आप जो भी चाहें कर सकते हैं, जैसे कि सरणी से मूल्य को निकालना .- [idArray removeObjectAtIndex: indexPath.row]; जहां idArray एनएसएमयूटेबलएरे है जिसमें आईडी हैं। अंत में बस [tableView reloaddata] को कॉल करके अपनी तालिका को पुनः लोड करें; जहां tableView आपकी तालिका का नाम है। –

+0

मैंने अपनी टिप्पणी संपादित की है – Spire

12

यदि आपको केवल बटन का शीर्षक बदलने की आवश्यकता है, तो आपको केवल शीर्षक को जोड़ने की आवश्यकता है ForDeleteConfirmationButtonForRowAtIndexPath विधि।

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return @"NewButtonName"; 
} 
+0

यह मेरे लिए बहुत अच्छा काम है:) धन्यवाद! – slboat