2011-06-13 13 views
5

मैं चुनना चाहता हूं और फिर किसी विशेष रंग के साथ लेबल पर एक ही टेक्स्ट को हाइलाइट करना चाहता हूं। क्या यह इशारे की मदद से प्राप्त किया जा सकता है। और मुझे हाइलाइट किए गए हिस्से की स्थिति स्टोर करने के लिए है, भले ही आवेदन terminas, इसलिए जब उपयोगकर्ता वापस आता है, वे देख सकते हैं कि भाग पर प्रकाश डालालेबल पर चयन और हाइलाइटिंग

धन्यवाद

उत्तर

6

हाँ, आप इशारा इस्तेमाल कर सकते हैं अपने UILabel के साथ अपने UILabel के पृष्ठभूमि रंग या टेक्स्ट रंग को बदलकर टेक्स्ट को हाइलाइट करने के लिए अपने UILabel के साथ।

आप भी अपनी UILabelNSUserDefaults का उपयोग करने का वर्तमान स्थिति की दुकान, और इसे वापस पढ़ा हम उपयोगकर्ता आपका ऐप्लिकेशन लॉन्च कर सकता है।

एक isLabelHighlightedरूप BOOL के लिए UILabel राज्य घोषित करें।

UITapGestureRecognizer* myLabelGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(LabelClicked:)]; 
[myLabelView setUserInteractionEnabled:YES]; 
[myLabelView addGestureRecognizer:myLabelGesture]; 


-(void)LabelClicked:(UIGestureRecognizer*) gestureRecognizer 
{ 
    if(isLabelHighlighted) 
    { 
     myLabelView.highlightedTextColor = [UIColor greenColor]; 
    } 
    else 
    { 
     myLabelView.highlightedTextColor = [UIColor redColor]; 
    } 
} 

अपने UILabel की राज्य में संग्रह करना।

[[NSUserDefaults standardUserDefaults] setBool:isLabelHighlighted forKey:@"yourKey"]; 

इसे एक्सेस करने के लिए, आपको नीचे उपयोग करना चाहिए।

isLabelHighlighted = [[NSUserDefaults standardUserDefaults] boolForKey:@"yourKey"]; 
+1

अपने working.But को छोड़कर मैं कैसे लेबल पर विशेष पाठ का चयन करेंगे, उपयुक्त नहीं है। – Rachit

+0

क्या आपको इसके लिए उत्तर मिल गया? कृपया बाँटें –

1

NSUserDefaults क्योंकि आवेदन समाप्त किया जा सकता अप्रत्याशित रूप से UITapGestureRecognizer किसी भी राज्यों समर्थित नहीं, UIGestureRecognizerStateEnded

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UILongPressGestureRecognizer *longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressGestureRecognizerAction:)]; 
    longPressGestureRecognizer.minimumPressDuration = 0.01; 
    [label setUserInteractionEnabled:YES]; 
    [label addGestureRecognizer:longPressGestureRecognizer]; 
} 


- (void)longPressGestureRecognizerAction:(UILongPressGestureRecognizer *)gestureRecognizer 
{ 
    if (gestureRecognizer.state != UIGestureRecognizerStateEnded) 
    { 
     label.alpha = 0.3; 
    } 
    else 
    { 
     label.alpha = 1.0; 

     CGPoint point = [gestureRecognizer locationInView:label]; 
     BOOL containsPoint = CGRectContainsPoint(label.bounds, point); 

     if (containsPoint) 
     { 
      // Action (Touch Up Inside) 
     } 
    } 
} 
संबंधित मुद्दे