Tim*_*Tim 3 iphone objective-c
我有一个UITableViewCell带有两个标签的自定义(UILabel).表格单元格用于显示信息/文本.在其中一些单元格(不是全部)中,以这种方式设置文本:
cell.myTextlabel.text = @"http://www.google.de"
Run Code Online (Sandbox Code Playgroud)
现在我想要点击这个文本/链接,一个safari webbrowser应该打开这个网页.我怎样才能做到这一点?
最好的问候蒂姆.
将userInteractionEnabled设置为标签的YES,并为其添加手势识别器:
myLabel.userInteractionEnabled = YES;
UITapGestureRecognizer *gestureRec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openUrl:)];
gestureRec.numberOfTouchesRequired = 1;
gestureRec.numberOfTapsRequired = 1;
[myLabel addGestureRecognizer:gestureRec];
[gestureRec release];
Run Code Online (Sandbox Code Playgroud)
然后实现action方法:
- (void)openUrl:(id)sender
{
UIGestureRecognizer *rec = (UIGestureRecognizer *)sender;
id hitLabel = [self.view hitTest:[rec locationInView:self.view] withEvent:UIEventTypeTouches];
if ([hitLabel isKindOfClass:[UILabel class]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:((UILabel *)hitLabel).text]];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8429 次 |
| 最近记录: |