तो, ग्राहक का नमूना यूआईटीबल व्यू को इसकी एक पंक्ति में मौजूद होने के लिए हर समय उपस्थित होना चाहता है, इसलिए उपयोगकर्ता UITableView की किसी भी स्थिति में इस महत्वपूर्ण बटन से बातचीत कर सकता है। एक बार जब वह स्क्रॉल करता है और बटन के साथ वास्तविक पंक्ति को देखता है, तो फ़्लोटिंग फ़ूटर गायब हो जाता है और उपयोगकर्ता को 'वास्तविक' सेल के साथ बातचीत करने की अनुमति देता है, न कि फ़्लोटिंग संस्करण।UITableView कस्टम UIView डुप्लिकेट
मैं निम्नलिखित कोड के साथ आ गया है:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if([self isPostularmeRowVisible])
{
[self hidePostularmeFooterView];
}
else
{
[self showPostularmeFooterView];
}
}
-(BOOL)isPostularmeRowVisible
{
NSArray *indexes = [self.tableView indexPathsForVisibleRows];
for (NSIndexPath *index in indexes)
{
if (index.row == 0 && index.section>=DetalleEmpleoPostularmeCell)
{
return YES;
}
}
return NO;
}
-(void) showPostularmeFooterView
{
NSAssert(_state==ESTADO_POSTULACION_NO_POSTULADO, @"NJDetalleEmpleoViewController: This shouldn't happen");
if(!self.footerView)
{
NJDetalleEmpleoPostularmeTableViewCell *footerView = [self.tableView dequeueReusableCellWithIdentifier:kDetalleEmpleoPostularmeCell];
[footerView configureCell:self.detaleAviso];
float h = self.view.frame.size.height-footerView.cellHeight;
footerView.frame = CGRectMake(0,h,self.view.frame.size.width,footerView.cellHeight);
footerView.delegate = self;
self.footerView = footerView;
[self.view addSubview:self.footerView];
[self.view bringSubviewToFront:self.footerView];
}
}
-(void) hidePostularmeFooterView
{
if(self.footerView)
{
[self.footerView removeFromSuperview];
}
self.footerView = nil;
}
लेकिन इस कोड एक बग है मैं यह पता लगाने की प्रतीत नहीं कर सकते हैं: एक बार उपयोगकर्ता नल UITextBox पर है और कुछ पाठ इसे करने के लिए शुरू में प्रवेश करती है गलत तरीके से व्यवहार करें, यानी: 2 या अधिक सेल स्क्रीन पर दिखाई देते हैं, जब कोई नहीं होना चाहिए! असल में, जब मैं 'hidePostularmeFooterView' विधि को कॉल करता हूं तो यह गायब नहीं होता है (केवल कुछ पाठ दर्ज करने के बाद, अगर मैं इसके साथ बातचीत नहीं करता हूं, तो यह ठीक काम करता है)।
यह लगता है के बाद मैं पाद के 2 संस्करण देखते हैं कुछ पाठ दर्ज, यहाँ सबूत है:
यह दिखता है से, यह आप कैसे दिखाने के साथ कुछ हो सकता है/कीबोर्ड को छुपाएं और यह आपके विचारों के साथ कैसे इंटरैक्ट करता है। एक साइड नोट के रूप में, क्या आपको हर समय उस दृश्य को बनाने की ज़रूरत है? यदि आप इसे एक बार बनाते हैं और दृश्य को दिखाते और छुपाते हैं तो यह अच्छा व्यवहार करेगा। –