/ / UIScrollView अधिकांश स्क्रॉल दृश्यों की तरह काम नहीं कर रहा है - ios, वस्तुनिष्ठ- c, uiscrollview

UIScrollView अधिकांश स्क्रॉल दृश्यों की तरह काम नहीं कर रहा है - आईओएस, उद्देश्य-सी, uiscrollview

मैं अपने स्क्रॉल दृश्य को प्राप्त करने की कोशिश कर रहा हूं"बल स्क्रॉल" के बिना मेरे पाठ के नीचे। इसलिए जब मैं नीचे स्क्रॉल करता हूं, तो शेष पाठ के निचले हिस्से तक पहुंचने से पहले दाईं ओर स्क्रॉल बार बंद हो जाता है। मुझे फिर से बल के साथ फिर से स्क्रॉल करना होगा (ताकि दाईं ओर स्क्रॉल बार, शेष पाठ का खुलासा हो)। उम्मीद है कि किसी ने इसका सामना किया हो। मैं स्क्रॉल को बाध्य नहीं करना चाहता हूं। मैं चाहता हूं कि यह सब साफ-सुथरे तरीके से प्रदर्शित हो।

UIScrollView *theScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 568.0f)];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(17.0f, 150.0f, 286.0f, 568.0f)];

label.text = @" a very large portion of text ";

label.backgroundColor = [UIColor clearColor];
label.font = [UIFont fontWithName:@"Chalkduster" size:16.0];
label.lineBreakMode = NSLineBreakByWordWrapping;
label.numberOfLines = 0;
[label sizeToFit];
[theScroll setShowsVerticalScrollIndicator:NO];
theScroll.contentSize = CGSizeMake(theScroll.contentSize.width, label.frame.size.height);
[theScroll addSubview:label];
[self.view addSubview:theScroll];

यह सब में है viewDidLoad तरीका।

उत्तर:

जवाब के लिए 0 № 1

दो चीजें डॉन 'टी काफी सही लगती हैं।

  1. आपने लेबल सेट कर दिया है origin.y सेवा मेरे 150। क्या आपके पास स्क्रॉल दृश्य के सामग्री क्षेत्र के ऊपर से लेबल शुरू होने का मतलब है?
  2. आप स्क्रॉल दृश्य सेट करते हैं contentSize.height लेबल की ऊँचाई के समान होना। यह # 1 के साथ संघर्ष करता है contentSize.height सभी सामग्री के लिए पर्याप्त लंबा होना चाहिए।

# 1 को सही मानते हुए, # 2 को इस प्रकार सेट किया जाना चाहिए:

theScroll.contentSize = CGSizeMake(theScroll.contentSize.width, CGRectGetMaxY(label.frame));

याद रखें, लेबल का निचला भाग इसकी मूल + ऊँचाई होगा, न कि केवल इसकी ऊँचाई।