У меня есть UILabel
в UITableViewCell
, который отображает номер телефона. Когда я нажимаю на него, я могу позвонить на этот номер. Таким образом, чтобы сделать его кликабельным, я добавил в него UITapGestureRecognizer
. Но я не мог понять, как ссылаться на тот щелчок, который я нажимаю, я имею в виду, какой номер был нажат.UITapgestureRecogniser в таблицеViewCell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
lblphone = [[UILabel alloc] initWithFrame:CGSizeMake(20,30,50,100)];
lblphone.tag = 116;
lblphone.backgroundColor = [UIColor clearColor];
lblphone.text=[NSString stringwithFormat:@"%@",phone];
[lblphone setFont:[UIFont fontWithName:@"Helvetica" size:12]];
[lblphone setLineBreakMode:UILineBreakModeWordWrap];
[lblphone setUserInteractionEnabled:YES];
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelButton:)];
[tapGestureRecognizer setNumberOfTapsRequired:1];
[lblphone addGestureRecognizer:tapGestureRecognizer];
[tapGestureRecognizer release];
[cell addSubview:lblphone];
}
-(IBAction)labelButton:(UITapGestureRecognizer*)tapGestureRecognizer
{
NSIndexPath *indexPath;
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
UILabel *phoneno = (UILabel*)[cell viewWithTag:116];
NSString *phoneNumber = [@"telprompt://" stringByAppendingString:phoneno.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
}
Но каждый раз, когда я мог видеть PHONENUMBER последней ячейки в NSString *phoneNumber
;
Как я могу обратиться к какому ярлыку нажата в UITapGestureRecognizer
?
почему вы используете "' UILabel'" вместо "'UIButton'" ?? –
Я попробовал это для UILabel ... – Honey
попробуйте этот UILabel * phoneno = (UILabel *) [cell viewWithTag: [tapGestureRecognizer.view.tag]]; –