2011-04-06 12 views
5

पर एक यूआईटीबल व्यूसेल और UItableView को एक ही दृश्य में रखा गया है। UITableView की विशेष पंक्ति पर क्लिक करना, यह किसी अन्य दृश्य नियंत्रक पर नेविगेट करता है। लेकिन मैं UITableViewCell पर क्लिक करने के लिए अन्य दृश्य नियंत्रक पर नेविगेट करने में सक्षम नहीं हूं ।मैं यह कैसे कर सकता हूँ??UITableViewCell और UITableView (एक पंक्ति का चयन किया गया) नेविगेशन को अन्य दृश्यव्यू

UITableView के लिए मैं इस कोड का उपयोग कर रहा हूँ:

 

- 
-(void)pushView1:(id)sender{ 
    if(edController == nil) 
    edController = [[EditableDetailCell alloc] initWithNibName:@"EditableDetailCell" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:edController animated:YES]; 
} 
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    UITableViewCell *tbcel; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    tbcel.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

    tbcel.layer.cornerRadius = 15; 
    tbcel.text = aBook.Name; 
    switch(indexPath.section) 
    { 
     case 0: 
      cell.text = aBook.Address; 
      break; 
     case 1: 
      cell.text = aBook.Phone; 
      break; 
     case 2: 
      cell.text = aBook.Purchase; 
    } 
    return cell; 
} 


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(edController == nil) 
    edController = [[EditableDetailCell alloc] initWithNibName:@"EditableDetailCell" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:edController animated:YES]; 
}![enter image description here][1] 

मैं UITableViewCell के लिए क्या करना चाहिए ??

ist is tableviewcell and below it in block is tableview

+1

UITableViewCell तालिका दृश्य का हिस्सा हैं? तो फिर आप इसके लिए एक कार्रवाई क्यों करना चाहते हैं – visakh7

+0

इसका एक UiTableViewCell तालिकादृश्य में शामिल नहीं है, इसे अलग-अलग इंटरफ़ेस बिल्डर लाइब्रेरी में अलग-अलग में डाला गया है। – Ketan

+0

इससे कोई फर्क नहीं पड़ता कि यह आईबी या कुछ भी है। UITableViewCell इस उद्देश्य के लिए नहीं है। नीचे मेरा जवाब देखें। – Xiao

उत्तर

1

संपादित करें:

क्या आप पुश करने के लिए चाहते हैं एक UITableViewCell

नहीं है यह एक और दृश्य है।

आप कह सकते हैं

YourCustomView *view = [[YourCustomView alloc] init]; 
[self.navigationController pushViewController:view animated:Yes]; 

लेकिन मैं कभी नहीं किसी भी कोड अन्य कक्ष को गुजर।

आपके सेल UITableView के रूप को अनुकूलित करने के लिए एक सेल का उपयोग किया जाता है।

जोड़ें:

मुझे लगता है कि अगर बयान यहाँ उपयोगी नहीं है।

तुम्हारा मतलब

if(edController == nil){ 
    edController = [[EditableDetailCell alloc] initWithnibName:@"EditableDetailCell" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:edController animated:YES]; 
} 

करते हैं या एक खाली दृश्य किसी भी तरह से पारित किया जा रहा है।

+0

मैंने अपनी क्वेरी को फिर से संपादित किया है। – Ketan

+0

मैं इसे नेविगेट करने के लिए tableviewcell (ग्राहक 2) के लिए pushview1 विधि का प्रयास कर रहा हूं लेकिन इस विधि के साथ नेविगेट नहीं कर रहा है – Ketan

+0

क्या आपने इसे एक आईबीएक्शन बनाया है और इस विधि को सही बटन से कनेक्ट किया है इंटरफेस बिल्डर? तस्वीर के बगल में वह ग्राहक 2 एक बटन सही है? – Xiao

1
(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSLog(“Selected Row %d”, indexPath.row); 
    YourNextViewController *objVC = (YourNextViewController *)[storyboard instantiateViewControllerWithIdentifier:@"ViewControllerIdentifier"]; 
    [self presentViewController: objVC animated:YES completion:nil]; 
} 
संबंधित मुद्दे