如何在UITableView中打开UIButton的链接

时间:2012-07-01 09:44:05

标签: ios uitableview hyperlink uibutton

我创建了以下代码以显示UITableView中的按钮。我想为表格中的每个特定单元格添加点击事件,以通过点击该按钮访问Google链接。 如何将点击事件添加到特定单元格的按钮选项中并进入谷歌链接?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"cell";    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    UIButton *button =[[UIButton alloc]initWithFrame:CGRectMake(5,5,40,40)];
    [button addTarget:self action:@selector(buttonpressed:) forControlEvents:UIControlEventTouchUpInside];
    [button setImage:[UIImage imageNamed:@"lori"] forState:UIControlStateNormal];
    [button setTag:9001];
    [cell addSubview:button];
    [cell setIndentationWidth:45];
    [cell setIndentationLevel:1];
    cell.textLabel.text = [thearray objectAtIndex:indexPath.row];

    return cell;
}

-(void) buttonpressed:(UIButton *)sender {}

1 个答案:

答案 0 :(得分:8)

尝试类似:

-(void) buttonpressed:(UIButton *)sender {
    NSString* launchUrl = @"http://apple.com/";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: launchUrl]];
}

这将打开指向您传入的网址的safari。

如果您不想打开Safari,那么您应该显示自己的UIWebView

此外,您可能希望将按钮添加到contentView

[cell.contentView addSubview:button];