Sunday 15 April 2012

iphone - UIScollview and UIView alignment weird -


मुझे कोड का यह टुकड़ा है:

  scrollView = [[UIScrollView alloc] initWithFrame: सीजीआरएक्टमेक (0, 170, 320, 260)]; ScrollView.contentSize = CGSizeMake (960, 240); [ScrollView setPagingEnabled: हाँ]; ScrollView.showsHorizontalScrollIndicator = नहीं; ScrollView.delegate = self; [ScrollView सेटबैकग्राम रंग: [UIColor redColor]]; [Self.view addSubview: scrollView]; GraphView = [[एफडीजीफ़दृश्य] all initWithFrame: CGRectMake (0, 10, 320, 240)]; [GraphView सेटलाइन कॉलर: [UIColor whiteColor]]; [GraphView सेटडेटा पोर्टकोर: [UIColor clearColor]]; [GraphView setDataPointStrokeColor: [UIColor grayColor]]; [GraphView सेटबैकग्राम रंग: [UIColor greenColor]]; [ScrollView जोड़ें Subview: graphView];   

मुझे यह देखने की अपेक्षा है:

छवि दर्ज करें यहाँ विवरण

लेकिन इसके बजाय मैं इसे देखता हूं:

 छवि दर्ज करें यहाँ विवरण

मुझे सिर्फ एक यूआईवीयूवी और उपरोक्त कोड का उपयोग करते हुए एक नई परियोजना पर उम्मीद है, कोको नियंत्रण FDGraphView (जिस तरह से महान है) का उपयोग करके मुझे अजीब व्यवहार मिलता है।

FDGraphView एक UIView उपवर्ग है, लेकिन UIScrollView का भी उपयोग करता है और सामान्यतः जब viewController दृश्य के एक subview के रूप में जोड़ा जाता है,

किसी भी विचार ??

संपादित करें: जाहिरा तौर पर नीचे दिए गए कोड में कुछ समस्या पैदा कर रहा है

  - (शून्य) विल ऐन्मेटरोटेशनटोइंटरफेस ओरिएंटेशन: (यूआईएनपरफेसऑरिएन्टेशन) इनफ़ेटरऑपरेटेशन अवधि: (एनएसटीईइनइंटरवल) अवधि {// अपनी परतों को दृश्य के आधार पर बदल देगी? ??? s नई सीमाएं [[[self.view.layer sublayers] objectAtIndex: 0] setFrame: self.view.bounds]; यदि (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {[graphView सेटफ़्रेम: CGRectMake (0, 150, 480, 150)]; [ग्राफदृश्य सेटडिजाइन करें]; [सेटफ्रेम ताज़ा करें: सीजीआरकेमेक (5, 305, 10, 10)]; सीजीआरसीटी स्क्रीनरेक्ट = [[यूएसस्क्रीन मुख्य स्क्रीन] एफ़ाफ्रेम]; अगर (screenRect.size.height == 568) {// यदि आईफोन 5 + एनएसएलॉग (@ "आईफोन 5 + डिटेक्टेड"); [GraphView सेटफ़्रेम: सीजीआरएक्टमेक (0, 150, 568, 150)]; [ग्राफदृश्य सेटडिजाइन करें]; }} यदि (toInterfaceOrientation == UIInterfaceOrientationPortrait) {[graphView सेटफ़्रेम: CGRectMake (0, 170, 320, 240)]; [ग्राफदृश्य सेटडिजाइन करें]; [सेटफ्रेम ताज़ा करें: सीजीआरएक्टमेक (5, 465, 10, 10)]; सीजीआरसीटी स्क्रीनरेक्ट = [[यूएसस्क्रीन मुख्य स्क्रीन] एफ़ाफ्रेम]; अगर (screenRect.size.height == 568) {// यदि आईफोन 5 + एनएसएलॉग (@ "आईफोन 5 + डिटेक्टेड"); [ग्राफ दृश्य सेटफ़्रेम: सीजीआरएक्टमेक (0, 170, 320, 240)]; [ग्राफदृश्य सेटडिजाइन करें]; [सेटफ्रेम ताज़ा करें: सीजीआरएक्टमेक (5, 553, 10, 10)]; }} यदि (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {[graphView सेटफ़्रेम: CGRectMake (0, 150, 480, 150)]; [ग्राफदृश्य सेटडिजाइन करें]; [सेटफ्रेम ताज़ा करें: सीजीआरकेमेक (5, 305, 10, 10)]; सीजीआरसीटी स्क्रीनरेक्ट = [[यूएसस्क्रीन मुख्य स्क्रीन] एफ़ाफ्रेम]; अगर (screenRect.size.height == 568) {// यदि आईफोन 5 + एनएसएलॉग (@ "आईफोन 5 + डिटेक्टेड"); [GraphView सेटफ़्रेम: सीजीआरएक्टमेक (0, 150, 568, 150)]; [ग्राफदृश्य सेटडिजाइन करें]; }}} - (शून्य) दृश्यडिडअपेर: (BOOL) एनिमेटेड ([आत्मविभाजननोटेशनटोइंटरफेसऑरिएन्टेशन: [[यूआईएपीपीसीशन साझाअनुप्रयोग] स्थितिबारऑरिएंटेशन] अवधि: 0.5]; } `   

कोड के इस भाग में:

  यदि (toInterfaceOrientation == UIInterfaceOrientationPortrait) {[graphView सेटफ़्रेम: CGRectMake (0, 170, 320, 240)]; [ग्राफदृश्य सेटडिजाइन करें]; [सेटफ्रेम ताज़ा करें: सीजीआरएक्टमेक (5, 465, 10, 10)]; सीजीआरसीटी स्क्रीनरेक्ट = [[यूएसस्क्रीन मुख्य स्क्रीन] एफ़ाफ्रेम]; अगर (screenRect.size.height == 568) {// यदि आईफोन 5 + एनएसएलॉग (@ "आईफोन 5 + डिटेक्टेड"); [ग्राफ दृश्य सेटफ़्रेम: सीजीआरएक्टमेक (0, 170, 320, 240)]; [ग्राफदृश्य सेटडिजाइन करें]; [सेटफ्रेम ताज़ा करें: सीजीआरएक्टमेक (5, 553, 10, 10)]; }}   

कोड की लाइनें:

  [graphView सेटफ़्रेम: सीजीआरएक्टमेक (0, 170, 320, 240)]; [ग्राफदृश्य सेटडिजाइन करें];   

मेरे ग्राफ़्वेव के फ़्रेम को जाने वाले एक प्रतिनिधि द्वारा बुलाए जा रहे थे! वास्तव में बेवकूफ ...

No comments:

Post a Comment