为啥我的 UIButton 不起作用?
Posted
技术标签:
【中文标题】为啥我的 UIButton 不起作用?【英文标题】:Why won't my UIButton work?为什么我的 UIButton 不起作用? 【发布时间】:2012-03-21 09:37:20 【问题描述】:我正在尝试使用 UIButton 调用 Sharekit,但是当我点击设备上运行的按钮时,没有任何反应。
这应该是我的视图控制器.h中的相关代码
#import "SHK.h"
#import "SHKFacebook.h"
@interface ViewController : UIViewController <CaptureManagerDelegate>
IBOutlet UIButton *upload;
@property (nonatomic, retain) IBOutlet UIButton *upload;
-(IBAction)buttonPressed:(id)sender;
在我的视图控制器的 .m 中(使用此处示例中的代码 http://gazapps.com/wp/2011/07/17/basic-sharekit-customization)
@synthesize upload;
-(IBAction)buttonPressed:(id)sender
SHKItem *item;
NSURL *url = [NSURL URLWithString:@"http://www.gazapps.com"];
item = [SHKItem URL:url title:@"Checkout this site"];
[SHKFacebook shareItem:item];
-(void)dealloc
[upload release];
除了尝试使用 UIButton 而不是 UIBarButton,我还严格按照 Sharekit 的安装说明进行操作。在我的故事板中,我按住 CTRL 键拖动到“第一响应者”并将我的按钮链接到 buttonPressed。我在 xcode 中没有收到任何警告或错误。但是当我点击按钮时没有任何反应。
【问题讨论】:
把日志放到这个方法里看看有没有被调用? 您是否已将您的“buttonPressed”方法的委托分配给您的按钮?如果是这样,在方法定义处放置断点并检查它是否被调用.. 你想分享到 facebook,没有操作表? Offtopic:您正在使用情节提要(因此您只是为 ios5 开发)并且您没有使用 ARC?为什么? 是的,我想跳过操作表,暂时只分享到 FB。我只为 iOS5 开发的原因不是为了故事板,而是因为我使用的面部检测仅适用于 iOS5。但我使用故事板是因为我的应用需要大量视图,而这似乎是组织它们的好方法。 【参考方案1】:您的代码看起来不错。问题可能出在 nib 文件中。再次检查您的连接。
你还在用你的upload
(UIButton) 属性做其他事情吗?你根本不需要那个 Outlet,如果你只想触发一个IBAction
。
您可以在buttonPressed
方法中放置一个断点,以查看连接是否设置正确。
【讨论】:
【参考方案2】:你应该使用 SHKActionSheet
SHKActionSheet *actionSheet = [EDShareActionSheet actionSheetForItem:item];
[actionSheet showFromToolbar:self.navigationController.toolbar];
【讨论】:
以上是关于为啥我的 UIButton 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章