关于Iphone和Ipad错误的动作表Swift

时间:2014-12-04 11:11:06

标签: ios iphone ipad swift uiactionsheet

我是Swift的新手并试图弄清楚它是如何工作的。我的警报表有问题。在iPhone 5S工作正常(它打开工作表,然后Facebook和Twitter警报)但我收到错误:"启动服务:invalidationHandler调用"。
在iPad Air 2上,使用我的代码,警报会打开,但其位置(和箭头)不在shareACtion按钮旁边,而是实际位于屏幕的另一侧。此外,它没有采取任何行动 我导入了社交框架和UIActionSheetDelegate 感谢名单

@IBAction func shareAction(sender: AnyObject) {
   let  actionSheet = UIActionSheet(title: nil, delegate: self, cancelButtonTitle: "OK", destructiveButtonTitle: nil,otherButtonTitles: "Twitter", "Facebook")
        actionSheet.showInView(self.view)
}
    func actionSheet(actionSheet: UIActionSheet!, clickedButtonAtIndex buttonIndex: Int)
    {
        switch buttonIndex{
        //Twitter
        case 1:
            SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter)
            var tweetSheet:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
            tweetSheet.setInitialText("I'm using the app Test")
            tweetSheet.addImage(UIImage(named: "picture1.png"))
            self.presentViewController(tweetSheet, animated: true, completion: nil)
            break;
        //Facebook
        case 2:
            SLComposeViewController.isAvailableForServiceType(SLServiceTypeFacebook)
            var FBSheet:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
            FBSheet.setInitialText("I'm using the app Test")
            FBSheet.addImage(UIImage(named: "picture1.png"))
            self.presentViewController(FBSheet, animated: true, completion: nil)
            break;
        default:
            break;
    }

}

1 个答案:

答案 0 :(得分:0)

来自UIActionSheet.showInView(_:)

的文档
  

在iPad上,此方法将操作表置于中间位置   屏幕。通常,如果要在iPad中显示操作表   应用程序,您应该使用showFromRect:inView:animated:方法   改为显示行动表。

来自UIActionSheet.showFromRect(_, inView:, animated:)

的文档
  

在iPad上,此方法在弹出窗口中显示操作表   箭头指向视图的指定矩形。 popover呢   不与指定的矩形重叠。

在您的代码中,您传递的是一个0,0原点和0,0大小的矩形。我打赌你的行动表出现在左上角。相反,传入您希望工作表指向的视图的框架(假设视图附加到主视图。)如果视图附加到某个子视图,那么您还必须更改要传递的视图

文档是你的朋友。

相关问题