2011-12-23 30 views
9

Tôi đã tạo một số nhãn có lập trình để hiển thị trên màn hình và tôi muốn sau khi nhấp vào nhãn một số hành động sẽ thực hiện.Hành động trên UILabel trong iphone

Vui lòng không đề xuất tôi về UIButton. Tôi muốn làm điều đó cho UILabel. Sau khi nhấp vào nhãn, một chế độ xem chi tiết khác sẽ xuất hiện.

Vui lòng giúp tôi giải quyết vấn đề này mà không cần sử dụng Trình tạo mã định dạng.

+1

Có vấn đề gì với UIButton? Tôi nghĩ UIbutton trong suốt không có gì khác biệt với những gì bạn muốn. – Skyler

Trả lời

22

Cuối cùng tôi đã đưa ra với giải pháp và tôi nhận được kết quả

[titleLbl setUserInteractionEnabled:YES]; 
    UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelButton:)]; 
    [tapGestureRecognizer setNumberOfTapsRequired:1]; 
    [titleLbl addGestureRecognizer:tapGestureRecognizer]; 
    [tapGestureRecognizer release]; 
4

làm IBoutlet của nhãn, thực hiện touchesBegin trong điều khiển của bạn, kéo ra CGPoint - touchCoordinate, kiểm tra

CGRectContainsPoint(label.frame,touchCoordinate) 
{ 
//you got the touch action on your label 
} 
+1

hãy cho tôi biết nếu không có IB –

+1

đặt thẻ của nhãn của bạn trong khi tạo thẻ: giả sử bạn đã đặt thẻ: 199. sau đó, bạn có thể tìm nạp nhãn bất cứ khi nào bạn yêu cầu bởi UILabel * label = [self.view viewWithTag: 199]; – samfisher

+1

bạn có thể tìm đối tượng của nhãn mà không cần IBOutlet sử dụng ở trên. Tôi hy vọng nó sẽ giúp .. – samfisher

3

Trong

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
....... 
....... 
CGPoint touch;//Touch Location 

if(CGRectContainsPoint([objectOfLable frame], [touch locationInView:self.view ])) 
{ 
    Do What you Want 
} 

} 

Hãy thử này

Các vấn đề liên quan