- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 UITableViewCell
中有一个 UILabel
,它显示电话号码。当我单击它时,我应该能够调用该特定号码。因此,为了使其可点击,我向其中添加了一个 UITapGestureRecognizer
。但我不知道如何引用单击了哪个水龙头,我的意思是单击了哪个数字。
- (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]];
}
但每次我都能看到 NSString *phoneNumber
; 中最后一个单元格的电话号码;
如何引用 UITapGestureRecognizer
中单击的标签?
最佳答案
在cellForRowAtIndexPath
中使用lblphone.tag = indexPath.row + 1;
而不是lblphone.tag = 116;
您也可以在不使用标签的情况下实现此目的。
参见下面的示例
-(void)labelButton:(UITapGestureRecognizer*)tapGestureRecognizer
{
UILabel *phoneno = (UILabel *) tapGestureRecognizer.view;
}
关于iphone - tableViewCell 中的 UITapgestureRecogniser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15447149/
我有一个objc函数: @objc private func segmentedControlViewTapped(gestureRecognizer: UITapGestureRecognizer)
我在 UITableViewCell 中有一个 UILabel,它显示电话号码。当我单击它时,我应该能够调用该特定号码。因此,为了使其可点击,我向其中添加了一个 UITapGestureRecogni
我正在使用 swift 创建一个应用程序。在我的一个 ViewController 中,我有一个以编程方式创建的 GMSMapView。我希望用户能够在点击 map 时触发操作。 我做了什么: imp
在我的 View 加载中,我有两个 UILabel,并且我为两者添加了相同的 tapGesture。如果点击特定标签,则应该执行其功能。但我无法这样做? -(void)viewDidLoad{ l
我正在尝试将相同的 UITapGestureRecognizer 添加到多个 View 中作为 var tapGesture = UITapGestureRecognizer(target: se
我是一名优秀的程序员,十分优秀!