我有一个表,其中每个行对象都可以有一个特定的内容(文本,带有URL的文本 - 结果是打开Safari中的链接 - 和图像)。
我所做的是为每个细节创建一个视图,但是例如对于带有URL的文本,我创建了一个带有选择器方法的按钮,我没有机会为该选择器设置URL参数 - 它始终显示最后创建的URL。
有没有办法让代码在按钮创建时打开链接? (我有正确的值。)
答案 0 :(得分:0)
使用选择器方法中的public static string RemoveExtraWhitespace(string str)
{
var sb = new StringBuilder();
var prevIsWhitespace = false;
foreach (var ch in str)
{
var isWhitespace = char.IsWhiteSpace(ch);
if (prevIsWhitespace && isWhitespace)
{
continue;
}
sb.Append(ch);
prevIsWhitespace = isWhitespace;
}
return sb.ToString();
}
参数找到与点击按钮关联的行,然后获取该项目的关联URL。
您的选择器方法应如下所示:
UIButton *sender
如果您需要访问按下按钮的单元格,也可以使用- (void)didTapLinkButtonInCell:(UIButton *)sender {
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
// If you have the items of your table in an array named 'items', for example
NSLog("Clicked URL is %@". self.items[indexPath.row].url);
}
。