我正在将我的应用程序从Objective C重写为
Swift,我注意到,在
Swift版本中,UIActionSheet的行为与obj-c版本不同.
对象版本
Swift版本
这只是iOS 7上的一个问题,它对于Swift和Obj-c版本在iOS 8上都可以正常工作(意思是取消在底部)
这里是相关代码:
var sheet = UIActionSheet(title: nil,delegate: self,cancelButtonTitle: "Cancel",destructiveButtonTitle: nil) sheet.addButtonWithTitle("Camera") sheet.addButtonWithTitle("Photo Library") sheet.showInView(self.controller.view)
任何想法如何解决?
事实证明,这是在提出问题后找到答案的另一个例子.
我只需要添加“取消”按钮作为另一个按钮,然后指定其索引:
var sheet = UIActionSheet(title: nil,cancelButtonTitle: nil,destructiveButtonTitle: nil) sheet.addButtonWithTitle("Camera") sheet.addButtonWithTitle("Photo Library") sheet.addButtonWithTitle("Cancel") sheet.cancelButtonIndex = 2 sheet.showInView(self.controller.view)
不知道他们是如何改变UIActionSheet应该如何在Swift中工作的,或者是否是iOS 8中已经弃用的错误