- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 iOS 13.0 Beta 中引入的新 API。我已经下载了 Xcode 11.0 Beta 3 以便能够访问这些 API。
我在网上找到的一些代码执行如下操作:
extension SingleViewController: UIContextMenuInteractionDelegate {
func contextMenuInteraction(_ interaction: UIContextMenuInteraction, configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? {
let configuration = UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { actions -> UIMenu<UIAction>? in
// Creating Save button
let save = UIAction(__title: "Save", image: UIImage(systemName: "tray.and.arrow.down.fill"), options: []) { action in
// Just showing some alert
self.showAlert(title: action.title)
}
// Creating Rotate button
let rotate = UIAction(__title: "Rotate", image: UIImage(systemName: "arrow.counterclockwise"), options: []) { action in
self.showAlert(title: action.title)
}
// Creating Delete button
let delete = UIAction(__title: "Delete", image: UIImage(systemName: "trash.fill"), options: .destructive) { action in
self.showAlert(title: action.title)
}
// Creating Edit, which will open Submenu
let edit = UIMenu<UIAction>.create(title: "Edit...", children: [rotate, delete])
// Creating main context menu
return UIMenu<UIAction>.create(title: "Menu", children: [save, edit])
}
return configuration
}
}
这看起来不错,但甚至无法在我的 Xcode 中编译。我得到的错误是:
Cannot specialize non-generic type 'UIMenu' Replace '<UIAction>' with ''
关于创建配置常量。
Type of expression is ambiguous without more context
关于创建保存操作。
并结合其他类似的错误。
我还应该提一下,我什至没有这种格式的构造函数:
UIAction(__title: "String", image: UIImage, options: Array)
UIMenu.create(...)
为什么 Xcode-11 beta 3.0 中缺少这些?
最佳答案
嗯,它变了。这是测试版!我希望它再次改变,但现在,在 beta 3 中,UIAction 的初始化器是
init(__title title: String, image: UIImage?, identifier: UIAction.Identifier?,
handler: @escaping UIActionHandler)
UIMenu 不是通用的,它的初始化器是
init(__title title: String, image: UIImage?, identifier: UIMenu.Identifier?,
options: UIMenu.Options = [], children: [UIMenuElement])
所以这里重写了在 beta 3 下编译的代码:
func contextMenuInteraction(_ interaction: UIContextMenuInteraction, configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? {
let configuration = UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { actions -> UIMenu? in
let save = UIAction(__title: "Save", image: UIImage(systemName: "tray.and.arrow.down.fill"), identifier: nil) { action in
// whatever
}
let rotate = UIAction(__title: "Rotate", image: UIImage(systemName: "arrow.counterclockwise"), identifier: nil) { action in
// whatever
}
let delete = UIAction(__title: "Delete", image: UIImage(systemName: "trash.fill"), identifier: nil) { action in
// whatever
}
let edit = UIMenu(__title: "Edit", image: nil, identifier: nil, children:[rotate,delete])
return UIMenu(__title: "Menu", image: nil, identifier: nil, children:[save, edit])
}
return configuration
}
关于iOS 13.0 UIMenu 和 UIContextMenuConfiguration 的 UIAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56960374/
我有一个带有 6 个按钮的 View Controller ,所有这些按钮都连接到另一个带有 TableView 的 View Controller 。根据按下的按钮,不同的值将传递给带有 Table
我有一个可移动的 UIAction 按钮,类似于 Reddit 的向上滚动按钮和辅助触摸功能。现在我很难找到一种方法来:1. 一开始就不要出界或2. 以类似于辅助触摸的方式弹回屏幕。 这是我的 UIP
我遇到了一个奇怪的问题。当我在模拟器上运行我的应用程序时,一切正常,但在设备上,一些代码无论如何都没有响应!我有一个 UIActionSheet,它在模拟器上看起来很不错,但在设备上它根本不起作用。它
这个问题在这里已经有了答案: iOS 13 `withTintColor` not obeying the color I assign (1 个回答) 11 个月前关闭。 尝试在 UIAction
如何更改 UIAction 的状态?目标是在 UIMenu 内的 UIAction 旁边切换状态复选标记。 更改 UIAction 的 state通过存储在 View Controller 中的引用似
我正在从 UIBarButtonItem 呈现 UIActionSheet。当我再次单击栏按钮时,我希望操作表消失,而是每次都会创建一个新的操作表,彼此层叠。有什么想法吗? - (IBAction)a
我决定将 UIContextMenuInteraction 添加到我的 UITableViewCell 中,它工作正常,但标题有 9 个以上的字母(无图像)或 6 个以上的字母(有图像)像这样缩短:
您好,我是 Xcode 和 iOS 编程的新手。我的操作表和警报有一些问题,必须按两次才能工作。它还说:“呈现被其 super View 剪裁的 Action 表”。某些控件可能不会响应触摸。在 iP
对于 UIButton,touchDragInside 是否有一种方法可以判断手势的方向? (上、下、左、右) - (IBAction)buttonTouchedUpInside:(UIButton
建议我,如何在 iOS 8 中自定义 UIActionSheet 使用代码在 iOS8 中崩溃 [[[actionSheeet valueForKey:@"_buttons"] objectAtInd
Xcode 11 beta 3 不再接受此代码来实例化 UIAction: let action = UIAction(__title: "title", image: someImage, opti
我是 Swift 编程的新手,刚刚从 this article on Stack Overflow 学习我无法通过@IBAction 代码中的'sender' 参数更改UIButton 文本,但必须从
我正在尝试使用 iOS 13.0 Beta 中引入的新 API。我已经下载了 Xcode 11.0 Beta 3 以便能够访问这些 API。 我在网上找到的一些代码执行如下操作: extension
您好,我是 iOS 的新手,我在 MainViewController 的底部添加了一个 UIView。 当我点击一个按钮时,UIView 使用 UIView 动画显示为“UIAction sheet
我是一名优秀的程序员,十分优秀!