में CGRectMake मैं एक UITableViewCell के अंदर एक लेबल और एक टेक्स्ट फ़ील्ड बनाने के लिए CGRectMake का उपयोग कर रहा हूं। मेरी समझ मापदंडों क्या मैं सेल में देख तुरंत इसकी सही करने के लिए पाठ फ़ील्ड के साथ छोड़ दिया पर एक लेबल हैउद्देश्य-सी
CGRectMake(x, y, width, height)
के रूप में परिभाषित कर रहे हैं
label = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 0, 20)];
label.backgroundColor = [UIColor redColor];
textField =
[[UITextField alloc] initWithFrame:CGRectMake(0, 10, 0, 20)];
textField.backgroundColor = [UIColor blueColor];
[textField setDelegate:self]; // set the delegate to this object
[textField addTarget:self action:@selector(textFieldDidEndOnExit)
forControlEvents:UIControlEventEditingDidEndOnExit];
[self.contentView addSubview:label]; // add label to the cell
[self.contentView addSubview:textField]; // add textField to cell
पहले,: यहाँ कोड है। दोनों के बीच एक छोटी सी जगह है।
मैं उम्मीद करता हूं कि एक्स, वाई निर्देशांक सेल के ऊपरी बाईं ओर 0,0 बिंदु के सापेक्ष होने के साथ, सकारात्मक मूल्य नीचे और दाईं ओर जा रहे हैं।
मैं मैं क्या देख द्वारा उलझन में हूँ।
मुझे लगता है कि लेबल मेरे सेल के बाईं ओर स्थित है, लेकिन इसमें टेक्स्ट फ़ील्ड के एक्स मान से अधिक एक्स मान अधिक है। टेक्स्टफिल्ड लेबल के दाईं ओर शुरू होता है।
मुझे समझ में नहीं आता कि प्रत्येक के लिए चौड़ाई मान 0 (शून्य) पर क्यों सेट है।
इसके अलावा, सेलफिनेटर के सापेक्ष टेक्स्टफिल्ड लेबल के सापेक्ष स्थिति को लेता है।
0,0---------------------------------------------------------------------------------
| |
| ---------------- -----------------------------------------------------------------
| | | |
| | label | | textField
| | | |
| ---------------- -----------------------------------------------------------------
| |
------------------------------------------------------------------------------------
मैं भी कि चौड़ाई नोटिस:
यहाँ सेल और क्या मैं इसे में देखते हैं (पृष्ठभूमि रंग सेट के साथ, मैं स्पष्ट रूप से देख सकते हैं, जहां CGRects रखा जा रहा है) का एक सरल स्केच है प्रत्येक लेबल की सामग्री की लंबाई के अनुसार भिन्न होता है। मुझे यह समझ है, लेकिन मुझे समझ नहीं आता क्यों textfield चारों ओर घूमती है, प्रत्येक मामले में लेबल से समान दूरी रह।
[संपादित करें] वैसे, "स्वयं" UITableViewCell का उप-वर्ग है, अगर मैंने यह स्पष्ट नहीं किया है।
मुझे लगता है कि तुम्हारा मतलब 'टार पट्टी के नीचे है [cell.contentView addSubview: लेबल];' बजाय ऐसा नहीं है। – Robin
आप क्यों कह रहे आप समझ में नहीं आता क्यों प्रत्येक के लिए चौड़ाई 0 पर सेट है जब आप एक है जो 0 करने के लिए दोनों विस्तृत सेट कर रहे हैं? इसे गैर-शून्य मान और अद्यतन पर सेट करने का प्रयास करें। –