2010-01-20 13 views
8

मैं अब एक आईफोन आईएम चैट विंडो लिख रहा हूं।संपादित करें जब बटन बटन क्लिक किया गया, कोई लाल डिलीट आइकन दिखाता है

आप जानते हैं कि एक UITableviewController में nagviationItem.rightBarItem को संपादित करने के लिए सेट किया गया है बटन बटन, आप संपादन बटन पर क्लिक करते हैं, फिर एक लाल डिलीट आइकन प्रत्येक पंक्ति, like shown here पर दिखाया जाता है।

समस्या है, मैं एक UITableViewController के बजाय एक UIViewController है:

@interface ChatUIViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>{ 
    UITableView *table; 
    UITextField *textField; 

}

और मैं स्थापित करने के लिए भी ऐसा ही किया editButtonItem:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.navigationItem.rightBarButtonItem = self.editButtonItem; 

}

जब मैं संपादन बटन, red delete icon will not show पर क्लिक करता हूं।

मैं अपने ChatUIViewController में दिखाए गए लाल डिलीट आइकन को कैसे बना सकता हूं?

किसी भी व्यक्ति को अग्रिम धन्यवाद जो मदद कर सकता है। माइकल

उत्तर

39

अपने तालिका दृश्य प्रतिनिधि वर्ग के लिए निम्न विधि जोड़ें:

- (void) setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 
    [self.tableView setEditing:editing animated:animated]; 
    if (editing) { 
     // you might disable other widgets here... (optional) 
    } else { 
     // re-enable disabled widgets (optional) 
    } 
} 
+0

धन्यवाद एक असंख्य, यह पूरी तरह से काम किया। समाधान एक अन्य प्रश्न का नेतृत्व करता है: UITableViewController क्लास की कक्षा में उपरोक्त कोड की आवश्यकता क्यों नहीं है, लेकिन उस क्लास में आवश्यक है जो UIViewController को उप-वर्गीकृत करता है? मेरा अंतर्ज्ञान मुझे UITableViewController क्लास कॉल सेट एडिटिंग: एनिमेटेड: हुड के नीचे बताता है। –

+1

मेरी राय यह है कि एक तालिका दृश्य आवश्यक रूप से केवल संपादन योग्य दृश्य नहीं है। इसे एक व्यू कंट्रोलर का हिस्सा बनाकर, कोई संपादन योग्य कॉल किसी भी सबव्यू (जैसे तालिका दृश्य) में पास कर सकता है। –

+0

समझ में आओ। बहुत बहुत धन्यवाद। :) –

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