दिलचस्प पोस्ट
जावा में एंड्रॉइड के लिए एचटीपीआरपीएसपस टाइमआउट कैसे सेट करें जेनेरिक सूची के सरणी वर्तमान C या C ++ मानक दस्तावेज़ कहां से मिलते हैं? Xcode में विधि संदर्भ खोजें क्या कोई ऐसा तरीका है जिससे उनकी कक्षा नाम वाले स्ट्रिंग से वस्तुओं को इन्स्तांत किया जा सकता है? क्या WPF सूचीदृश्य में चिकनी स्क्रॉल लागू करना संभव है? कैसे आईएसओ जावा के साथ Asp.net में 11 का पता लगाने के लिए उद्देश्य-सी में NSNotificationCenter के माध्यम से संदेश भेजें और प्राप्त करें? SqlDataAdapter। विधि धीमी गति से भरें जावा: आकार एन की एक सरणी घोषित करने के बड़े-ओ समय क्या है? आप रिमोट गीट शाखा कैसे बनाते हैं? jQuery को गतिशील रूप से जोड़ा HTML तत्व के लिए onclick घटना बाँध कैसे करें जावास्क्रिप्ट कॉलबैक जब IFRAME लदान समाप्त हो गया है? एकाधिक आज्ञाओं के साथ एक्सरग्स तर्क के रूप में वेब टेक्स्ट को कॉपी करने के लिए अतिरिक्त जानकारी कैसे जोड़ें

IOS UITableView हैडर दृश्य जोड़ना (अनुभाग शीर्षलेख नहीं)

मैं एक टेबल हेडर (अनुभाग हेडर नहीं) जोड़ना चाहता हूं जैसे कि संपर्क ऐप में उदाहरण: यहां छवि विवरण दर्ज करें

ठीक उसी तरह – तालिका के ऊपर की छवि के बगल में एक लेबल।

मैं चाहता हूं कि सभी दृश्यों को स्क्रॉल किया जा सके ताकि मैं उन तालिका के बाहर नहीं रख सकूं

मैं उसे कैसे कर सकता हूँ?

Solutions Collecting From Web of "IOS UITableView हैडर दृश्य जोड़ना (अनुभाग शीर्षलेख नहीं)"

UITableView में एक tableHeaderView संपत्ति है। सेट करें कि जो कुछ भी आप चाहते हैं वह वहां पर दिखाई देगा।

एक नया UIView को एक कंटेनर के रूप में उपयोग करें, उस पाठ के लेबल और उस नए UIView एक छवि दृश्य जोड़ें, फिर tableHeaderView को नए दृश्य में सेट करें।

उदाहरण के लिए, एक UITableViewController :

 -(void)viewDidLoad { // ... UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)]; [headerView addSubview:imageView]; UILabel *labelView = [[UILabel alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)]; [headerView addSubview:labelView]; self.tableView.tableHeaderView = headerView; [imageView release]; [labelView release]; [headerView release]; // ... } 

आप इंटरफ़ेस बिल्डर में इसे बहुत आसान कर सकते हैं बस तालिका के साथ एक दृश्य बनाएं और तालिका में दूसरे दृश्य को छोड़ दें। यह तालिका शीर्ष लेख दृश्य बन जाएगा। उस दृश्य में अपनी लेबल और छवि जोड़ें। दृश्य पदानुक्रम के लिए नीचे चित्र देखें। अंतरफलक बिल्डर में पदानुक्रम देखें

आप केवल इंटरफ़ेस बिल्डर में केवल एक UIView बना सकते हैं और खींचें और ImageView और UILabel को ड्रॉप कर सकते हैं (इसे अपने वांछित शीर्षलेख की तरह दिखाना) और तब इसका उपयोग करें

एक बार जब आपका UIView आपको इसे पसंद करना चाहें, तो आप प्रोग्राम को इसे XIB से प्रारंभ कर सकते हैं और अपने UITableView में जोड़ सकते हैं। दूसरे शब्दों में, आपको आईबी में पूरी तालिका डिजाइन करने की आवश्यकता नहीं है। सिर्फ हेडरव्यू (इस तरह से हेडर व्यू को अन्य तालिकाओं में फिर से उपयोग किया जा सकता है)

उदाहरण के लिए मेरे पास मेरे एक टेबल हेडर के लिए कस्टम UIView है I व्यू को "कस्टमहाइडरव्यू" नामक एक xib फ़ाइल द्वारा प्रबंधित किया जाता है और यह मेरे यूआईटीबल वीआईयूआई कंट्रोलर उपवर्ग में निम्न कोड का उपयोग करके तालिका शीर्ष लेख में लोड किया जाता है:

 -(UIView *) customHeaderView { if (!customHeaderView) { [[NSBundle mainBundle] loadNibNamed:@"CustomHeaderView" owner:self options:nil]; } return customHeaderView; } - (void)viewDidLoad { [super viewDidLoad]; // Set the CustomerHeaderView as the tables header view self.tableView.tableHeaderView = self.customHeaderView; } 

स्विफ्ट में :

 override func viewDidLoad() { super.viewDidLoad() // We set the table view header. let cellTableViewHeader = tableView.dequeueReusableCellWithIdentifier(TableViewController.tableViewHeaderCustomCellIdentifier) as! UITableViewCell cellTableViewHeader.frame = CGRectMake(0, 0, self.tableView.bounds.width, self.heightCache[TableViewController.tableViewHeaderCustomCellIdentifier]!) self.tableView.tableHeaderView = cellTableViewHeader // We set the table view footer, just know that it will also remove extra cells from tableview. let cellTableViewFooter = tableView.dequeueReusableCellWithIdentifier(TableViewController.tableViewFooterCustomCellIdentifier) as! UITableViewCell cellTableViewFooter.frame = CGRectMake(0, 0, self.tableView.bounds.width, self.heightCache[TableViewController.tableViewFooterCustomCellIdentifier]!) self.tableView.tableFooterView = cellTableViewFooter } 
 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.frame.size.width,30)]; headerView.backgroundColor=[[UIColor redColor]colorWithAlphaComponent:0.5f]; headerView.layer.borderColor=[UIColor blackColor].CGColor; headerView.layer.borderWidth=1.0f; UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 5,100,20)]; headerLabel.textAlignment = NSTextAlignmentRight; headerLabel.text = @"LeadCode "; //headerLabel.textColor=[UIColor whiteColor]; headerLabel.backgroundColor = [UIColor clearColor]; [headerView addSubview:headerLabel]; UILabel *headerLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, headerView.frame.size.width-120.0, headerView.frame.size.height)]; headerLabel1.textAlignment = NSTextAlignmentRight; headerLabel1.text = @"LeadName"; headerLabel.textColor=[UIColor whiteColor]; headerLabel1.backgroundColor = [UIColor clearColor]; [headerView addSubview:headerLabel1]; return headerView; }