2013-02-11 35 views
5

के अंदर मेरे पास UITableViewCells के साथ UITableView है जिसमें MKMapView शामिल है।MKMapView एक UITableViewCell

समस्या: यदि तालिका कक्ष कभी भी चुना जाता है, तो मानचित्र को ले जाएं, आप देखेंगे कि नक्शादृश्य सभी सफेद है और आप केवल "कानूनी" लेबल देखते हैं।

क्या किसी ने इससे पहले अनुभव किया है?

@implementation ViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    self.table.backgroundColor = [UIColor clearColor]; 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    return 5; 
} 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return 70; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    MKMapView *map = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 220, 70)]; 

    MKCoordinateSpan span = MKCoordinateSpanMake(0.01, 0.01); 
    CLLocationCoordinate2D logCord = CLLocationCoordinate2DMake(47.606, -122.332); 
    MKCoordinateRegion region = MKCoordinateRegionMake(logCord, span); 
    [map setRegion:region animated:NO]; 

    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"aaaa"]; 
    [cell.contentView addSubview:map]; 

    return cell; 
} 

उत्तर

4

मैं इस अनुभव किया है:

screenshot

यहाँ पूरे कोड है।

मेरे मामले में, नक्शा इस तरह सफेद हो जाता है यदि इसकी तालिका दृश्य या सेल में पृष्ठभूमि है रंग और उसके सेल में या तो भूरा या नीली चयन शैली है और सेल को डेक्यू के माध्यम से पुनर्नवीनीकरण किया जाता है।

मुझे लगता है कि नक्शा इस करता है, तो

cell.selectionStyle = UITableViewCellSelectionStyleNone; 
+1

मैंने पहले ही कोशिश की है, पुष्टि कर सकते हैं कि समस्या का समाधान नहीं होता है। – vgr

+2

आह, ठीक है, जो वास्तव में मेरे मामले में सफेद नक्शा पैदा कर रहा था, self.tableView.background को देखने में सक्षम है WillAppear। तालिका सेट करना दृश्य की पृष्ठभूमि रंग में देखेंडलोड लोड समस्या का उत्पादन नहीं करता है। सेल की चयन शैली कोई फर्क नहीं पड़ता। – Eric

+0

यदि यह किसी को भी मदद करता है, यदि आप UITableViewCell के लिए एक निब का उपयोग करते हैं तो यह संभव है कि निब में चयन स्टाइल प्रोग्राम प्रोग्रामिक रूप से सेट किए जाने से अलग कुछ सेट हो। Nib शायद लोड नहीं हो सकता है जब cellForRowAtIndexPath कहा जाता है (जहां cell.selectionStyle प्रोग्रामेटिक रूप से सेट है) और फिर चयन शैली nib में मान पर रीसेट हो जाती है। – Duncan

0

मैं इस रूप में अच्छी तरह का अनुभव किया है की तरह सफेद चालू नहीं होगा।

मेरे मानचित्र में सफेद पृष्ठभूमि थी जब इसे एक और विस्तार दृश्य नियंत्रक को धक्का/पॉप करने के बाद स्पर्श किया गया था। TableView में अभी तक कोई रंग/पृष्ठभूमि कॉन्फ़िगर नहीं है, सब कुछ डिफ़ॉल्ट है।

cell.selectionStyle = UITableViewCellSelectionStyleNone; 

... वास्तव में मदद की।