如何检测 Facebook 喜欢的按钮被点击?
Posted
技术标签:
【中文标题】如何检测 Facebook 喜欢的按钮被点击?【英文标题】:How to detect Facebook like button being clicked? 【发布时间】:2015-02-15 19:43:46 【问题描述】:我已经使用以下代码实现了一个 Facebook 按钮:
FBLikeControl *like = [[FBLikeControl alloc] init];
like.objectID = @"1031992973496678";
[like setFrame:CGRectMake(0, 20, 100, 100)];
[[self view] addSubview:like];
我想让按钮在按下时消失,使用以下代码:
[like removeFromSuperview];
如何检测点赞按钮何时被按下?
编辑:我目前正在使用此代码来检测何时按下赞按钮,但 NSLogs 和赞按钮的存在表明选择器未被使用:
[like addTarget:self action:@selector(likePressed:) forControlEvents:UIControlEventValueChanged];
[[self view] addSubview:like];
- (void) likePressed:(id)sender
NSLog(@"GG, like was pressed!");
[sender removeFromSuperview];
[likeText removeFromSuperview];
我尝试用[like removeFromSuperview];
替换[sender removeFromSuperview];
,但无济于事。
【问题讨论】:
【参考方案1】:在此处查看FBLikeControl
的文档:https://developers.facebook.com/docs/reference/ios/current/class/FBLikeControl
看起来FBLikeControl
继承自UIControl
并通过UIControlEventValueChanged
事件发送信息。尝试为此事件添加监听器,然后删除视图:
[likeControl addTarget:self action:@selector(likePressed:) forControlEvents:UIControlEventValueChanged];
// ... then later
-(void)likePressed:(id)sender
[sender removeFromSuperview];
【讨论】:
我已经这样做了,但是likePressed中的代码没有运行,根据NSLogs和like按钮没有消失。 我在原始帖子中添加了一个编辑,其中包含我当前用来尝试检测按下的点赞按钮的代码。 另一个人填补了缺失的部分。谢谢! :) 有趣的是 Facebook 的文档是错误的。很高兴你知道了:)【参考方案2】:尝试将 UIControlEventValueChanged 更改为 UIControlEventTouchUpInside
【讨论】:
以上是关于如何检测 Facebook 喜欢的按钮被点击?的主要内容,如果未能解决你的问题,请参考以下文章