दिलचस्प पोस्ट
Google नक्शे v3 में बहुभुज का केंद्र कैसे प्राप्त करें? फ्लक्स ऐप में एजेक्स अनुरोध को कहाँ बनाया जाना चाहिए? जावा में सॉफ्टरेफरेंस और वीक रेफरेंस के बीच क्या अंतर है? सभी उपलब्ध matplotlib बैकएंड्स की सूची जावा या जेएसपी में एक्सएसएस हमलों को रोकने के लिए एचटीएमएल कोड को कैसे सुरक्षित करना है? Android में एक स्पिनर को कैसे अनुकूलित करें Outlook में डिफ़ॉल्ट हस्ताक्षर कैसे जोड़ें जावा कैलेंडर में जनवरी माह 0 क्यों है? .NET डेटा संरचनाएं: सरणी सूची, सूची, हैशटेबल, डिक्शनरी, सॉर्टेड सूची, सॉर्टेडेडडेशन – स्पीड, मेमोरी, और प्रत्येक का उपयोग कब किया जाए? ओपनसीवी एडॉप्टिव थ्रेसहोल्ड ओसीआर बहुत बड़ी एक्सेल 2007 फाइलें पार्स करने के लिए सबसे अच्छी भाषा जावा में सूची में सरणी परिवर्तित करना सी ++ 03 में 'ऑटो' कीवर्ड का उपयोग करने के लिए कोई कारण है? कोर डाटा और आईओएस 7: लगातार स्टोर के अलग-अलग व्यवहार एचटीएमएल / सीएसएस में ग्रेस्केल में एक छवि को परिवर्तित करें

क्या पृष्ठ संकेतक बिंदु रंग को बदलने का एक तरीका है

मैं आईफोन प्रोग्रामिंग के लिए नौसिखिया हूं, मैं एक ऐप विकसित करने की कोशिश कर रहा हूं जो पेज नियंत्रण का उपयोग करता है। मेरे विचार का पृष्ठभूमि का रंग सफेद और पृष्ठ नियंत्रक डिफ़ॉल्ट है एक भी सफेद है, जो मेरे नियंत्रण में पृष्ठ नियंत्रण को अदृश्य बनाता है इसलिए मैंने पृष्ठ नियंत्रण का बैक ग्राउंड कलर बदल दिया है ताकि वह दृश्यमान हो सके। अब, विचार पैच और बुरे दिखता है क्या पृष्ठ नियंत्रण के लिए सिर्फ डॉट्स रंग बदलने का कोई तरीका है?

अग्रिम में धन्यवाद

वेब के समाधान से एकत्रित समाधान "क्या पृष्ठ संकेतक बिंदु रंग को बदलने का एक तरीका है"

हमने पृष्ठ सूचक के लिए कस्टम छवि का उपयोग करने के लिए UIPageControl को कस्टमाइज़ किया है, मैंने नीचे दिए गए वर्ग की हिम्मत सूचीबद्ध की है …

GrayPageControl.h

@interface GrayPageControl : UIPageControl { UIImage* activeImage; UIImage* inactiveImage; } 

GrayPageControl.m

 -(id) initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; activeImage = [[UIImage imageNamed:@"active_page_image.png"] retain]; inactiveImage = [[UIImage imageNamed:@"inactive_page_image.png"] retain]; return self; } -(void) updateDots { for (int i = 0; i < [self.subviews count]; i++) { UIImageView* dot = [self.subviews objectAtIndex:i]; if (i == self.currentPage) dot.image = activeImage; else dot.image = inactiveImage; } } -(void) setCurrentPage:(NSInteger)page { [super setCurrentPage:page]; [self updateDots]; } 

फिर दृश्य नियंत्रक में हम इसे सामान्य UIPageControl जैसी उपयोग करते हैं

 IBOutlet GrayPageControl* PageIndicator; 

संपादित करें:

ग्रेपेज नियंत्रण वाले दृश्य नियंत्रक में मेरे पास IBAction है जो कि ग्रेपेज कंट्रोल। वैल्यू चेंजेड इवेंट से जुड़ा हुआ है।

 -(IBAction) pageChanged:(id)sender { int page = PageIndicator.currentPage; // update the scroll view to the appropriate page CGRect frame = ImagesScroller.frame; frame.origin.x = frame.size.width * page; frame.origin.y = 0; [ImagesScroller scrollRectToVisible:frame animated:YES]; } 

IOS7 में एप्लिकेशन क्रैश IOS के लिए एक समाधान है 7:

क्रैश के कारण:

IOS 7 [self.subViews objectAtIndex: i] setImage और setImage बजाय UIView रिटर्न UIView की संपत्ति और ऐप क्रैश नहीं है मैं निम्नलिखित कोड का उपयोग करते हुए मेरी समस्या हल करता हूं

सबव्यू UIView (iOS7 के लिए) या UIImageView (IOS6 या पहले के लिए) में देखें। और अगर यह UIView मैं UIImageView को उस दृश्य पर UIImageView रूप में जोड़ूंगा और वोला इसके काम कर रहा है और क्रैश नहीं .. !!

 -(void) updateDots { for (int i = 0; i < [self.subviews count]; i++) { UIImageView * dot = [self imageViewForSubview: [self.subviews objectAtIndex: i]]; if (i == self.currentPage) dot.image = activeImage; else dot.image = inactiveImage; } } - (UIImageView *) imageViewForSubview: (UIView *) view { UIImageView * dot = nil; if ([view isKindOfClass: [UIView class]]) { for (UIView* subview in view.subviews) { if ([subview isKindOfClass:[UIImageView class]]) { dot = (UIImageView *)subview; break; } } if (dot == nil) { dot = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, view.frame.size.width, view.frame.size.height)]; [view addSubview:dot]; } } else { dot = (UIImageView *) view; } return dot; } 

आशा है कि यह IOS7 के लिए भी उर समस्या हल करेगा। और अगर Anypone के लिए इष्टतम समाधान खोजने कृपया टिप्पणी 🙂

हैप्पी कोडिंग

जेडब्ल्यूडी का उत्तर जाने का तरीका है हालांकि, यदि आप चाहते हैं कि सिर्फ रंग बदलना है, तो ऐसा क्यों न करें:

यह तकनीक केवल iOS6.0 और उच्चतर पर काम करेगी!

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

अपने UIPageControl का चयन करें निरीक्षक को विशेषता पर जाएं। टाडा।

या वैकल्पिक रूप से आप इन 2 गुणों के साथ खेल सकते हैं:

  pageIndicatorTintColor property currentPageIndicatorTintColor property 

यह बहुत सरल है मैं यह सुनिश्चित करने के लिए सवाल फिर से पढ़ता हूं कि मैं गलत नहीं हूं। क्या आप वाकई रंग बदलना चाहते हैं न? तो ठीक।

आप अभी भी उस कानून बिन्दुओं के साथ फंस गए हैं भयानक डॉट चित्रों के लिए जेडडब्ल्यूडी तकनीक का उपयोग करें।

आपकी मांग के अनुसार कोड की सिर्फ एक पंक्ति काली रंग के लिए सेट उदाहरण

 pageControl.pageIndicatorTintColor = [UIColor blackColor]; 

DDPageControl एक उत्कृष्ट प्रतिस्थापन है इसकी जांच – पड़ताल करें!

आप निम्न संकेतक के साथ पृष्ठ संकेतक रंग का रंग और मौजूदा पृष्ठ संकेतक रंग का रंग बदल सकते हैं:

 pageControl.pageIndicatorTintColor = [UIColor orangeColor]; pageControl.currentPageIndicatorTintColor = [UIColor blackColor]; 

अगर आप केवल डॉट्स का रंग बदलना चाहते हैं या इसे अनुकूलित करना चाहते हैं तो आप उसे जेडब्लूडी द्वारा सुझाए अनुसार बना सकते हैं, लेकिन थोड़ा सा एक और तरीके से:

 #pragma mark - LifeCycle - (void)setCurrentPage:(NSInteger)page { [super setCurrentPage:page]; [self updateDots]; } #pragma mark - Private - (void)updateDots { for (int i = 0; i < [self.subviews count]; i++) { UIView* dot = [self.subviews objectAtIndex:i]; if (i == self.currentPage) { dot.backgroundColor = UIColorFromHEX(0x72E7DB); dot.layer.cornerRadius = dot.frame.size.height / 2; } else { dot.backgroundColor = UIColorFromHEX(0xFFFFFF); dot.layer.cornerRadius = dot.frame.size.height / 2 - 1; dot.layer.borderColor = UIColorFromHEX(0x72E7DB).CGColor; dot.layer.borderWidth = 1; } } } 

परिणाम के रूप में आप कुछ मिल जाएगा जैसे

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

इसके अलावा मैक्रो:

 #define UIColorFromHEX(hexValue) [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16))/255.0 green:((float)((hexValue & 0xFF00) >> 8))/255.0 blue:((float)(hexValue & 0xFF))/255.0 alpha:1.0] 

ऐसा करने के लिए सबसे अच्छा और सबसे बहुस्तरीय तरीका है AppDelegate.m में didFinishLaunchingWithOptions विधि में कोड की निम्न पंक्तियां जोड़ना है

 UIPageControl *pageControl = [UIPageControl appearance]; pageControl.pageIndicatorTintColor = [UIColor lightGrayColor]; pageControl.currentPageIndicatorTintColor = [UIColor blackColor]; pageControl.backgroundColor = [UIColor whiteColor]; 

हो सकता है कि आप इस समाधान पर एक और स्टैक ओवरफ्लो प्रश्न में देखना चाहते हों।

कस्टम छवि का उपयोग करने के लिए यहां एक संबंधित उत्तर दिया गया है (यदि आप लचीला हो और रंग को सीधे बदलने के बजाय एक छवि का उपयोग कर सकते हैं)

UIPageControl के सूचकांक 0 पर UIPageControl की छवि के साथ डॉट को अनुकूलित करें