【问题标题】: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。但我使用故事板是因为我的应用需要大量视图,而这似乎是组织它们的好方法。

标签: iphone ios uibutton storyboard sharekit


【解决方案1】:

您的代码看起来不错。问题可能出在 nib 文件中。再次检查您的连接。 你还在用你的upload (UIButton) 属性做其他事情吗?你根本不需要那个 Outlet,如果你只想触发一个IBAction

您可以在buttonPressed 方法中放置一个断点,以查看连接是否设置正确。

【讨论】:

    【解决方案2】:

    你应该使用 SHKActionSheet

    SHKActionSheet *actionSheet = [EDShareActionSheet actionSheetForItem:item];    
    [actionSheet showFromToolbar:self.navigationController.toolbar];
    

    【讨论】:

      猜你喜欢
      • 2015-09-25
      • 2018-03-05
      • 2013-04-19
      • 2015-10-17
      • 2016-02-20
      • 2023-04-03
      • 2012-01-07
      • 2012-06-11
      • 2015-08-26
      相关资源
      最近更新 更多