2013-06-05 27 views
0

我想要在點擊並拖動標籤時更改標籤的邊框顏色,並且在未點擊並拖動標籤時,邊框顏色應返回其邊框顏色以前的顏色。我已經使用了泛和輕擊手勢識別器,但我不知道在編寫代碼時需要改變它。這是我下面的代碼:通過點擊並拖動來更改標籤的邊框顏色

(void)change:(id)sender { 


    CGRect labelFrame = CGRectMake(230, 240, 300, 30); 

    UILabel *headingLabel = [[UILabel alloc] initWithFrame:labelFrame]; 


    headingLabel.layer.borderColor = [UIColor clearColor].CGColor; 
    headingLabel.layer.borderWidth = 1.0; 
    headingLabel.backgroundColor = [UIColor blackColor]; 
    headingLabel.textColor = [UIColor redColor]; 


    [self.view addSubview:headingLabel]; 
    [headingLabel setUserInteractionEnabled:YES]; 
    headingLabel.text = _textField.text; 



    UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panDetected:)]; 
    [self.view addGestureRecognizer:panRecognizer]; 
    [headingLabel addGestureRecognizer:panRecognizer]; 

    UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapDetected:)]; 
    [self.view addGestureRecognizer:tapRecognizer]; 
    [headingLabel addGestureRecognizer:tapRecognizer];  
} 

(void)panDetected:(UIPanGestureRecognizer *)paramSender{ 
    if (paramSender.state != UIGestureRecognizerStateEnded && 
     paramSender.state != UIGestureRecognizerStateFailed){ 
     CGPoint location = [paramSender locationInView:paramSender.view.superview]; 
     paramSender.view.center = location; 
    } 
} 

(void) tapDetected:(UITapGestureRecognizer *)paramSender { 
    NSUInteger touchCounter = 0; 
    for (touchCounter = 0; 
     touchCounter < paramSender.numberOfTouchesRequired; 
     touchCounter++){ 
     CGPoint touchPoint = 
     [paramSender locationOfTouch:touchCounter 
          inView:paramSender.view]; 
    } 
} 
@end 

回答