के साथ अजीब व्यवहार मैं ऐप प्रतिनिधि में इन कथनों के माध्यम से विभाजित नियंत्रण की उपस्थिति स्थापित कर रहा हूं।UISegmentedControl और UIAppearance
[[UISegmentedControl appearance] setBackgroundImage:[[UIImage imageNamed:@"segmentation_normal.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0 , 0, 0)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setBackgroundImage:[[UIImage imageNamed:@"segmentation_selected.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0 , 0, 0)]
forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:[UIImage imageNamed:@"segmentation_divider_NormalNormal.png"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:[UIImage imageNamed:@"segmentation_divider_NormalSelected.png"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:[UIImage imageNamed:@"segmentation_divider_SelectedNormal.png"] forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
परिणाम ठीक है। जब मैं किसी भी सेगमेंट का चयन करता हूं तो बैकग्राउंड और डिवाइडर सही तरीके से सेट होते हैं (ऐप से पहले लॉन्च होने पर ऑर्डर सेगमेंट डिफ़ॉल्ट रूप से चुना जाता है)। जब मैं रिलीज सेगमेंट का चयन करता हूं, जैसा कि आप नीचे देख सकते हैं सब ठीक दिखता है।
समस्या है जब मैं (मैं चयनित सूचकांक की दुकान और viewDidLoad में सेट खंड फिर से चुनें करने के लिए), विभक्त गलत तरीके से किसी अज्ञात के लिए निर्धारित है को देखने के लिए फिर वापस दृश्य से बाहर जाना कारण।
अगर मैं नल पर एक-जेड तो रिलीज, यह अपने आप ठीक कर दे। यह बग केवल तब होता है जब दृश्य पहले लोड होता है और चयनित सेगमेंट या तो रिलीज़ या ए-जेड था। जब ऑर्डर चुना जाता है और दृश्य लोड होता है तो विभाजक हमेशा ठीक दिखता है।
छवि आकार: विभक्त 2px चौड़ा है (सभी 3 छवियां एक ही आकार हैं), पृष्ठभूमि 2 पीएक्स चौड़ी हैं।
किसी भी विचार या पॉइंटर्स की अत्यधिक सराहना की जाएगी, मैं पिछले 10 घंटों के लिए अपने बालों को खींचने के लिए कोई समाधान खोजने की कोशिश कर रहा हूं।
'viewDidLoad' में 'UISegmentedControl' के चयनित इंडेक्स को सेट करने के बाद' UISegmentedControl' 'की' setNeedsDisplay' विधि 'पर कॉल करें। शायद यह समस्या को ठीक करेगा। –
काम नहीं किया। हालांकि धन्यवाद! –
मैं भी इस मुद्दे को देख रहा हूं। अरे :( – runmad