Swift 4 iOS 11, , , .
# 1. UITableView
iPhone
UITableView
, dragInteractionEnabled
. dragInteractionEnabled
:
var dragInteractionEnabled: Bool { get set }
, , .
true
iPad false
iPhone. true
iPhone iPhone .
, dragInteractionEnabled
, UITableView
iPhone:
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.dragInteractionEnabled = true
}
}
# 2. UICollectionView
iPhone
UICollectionView
, dragInteractionEnabled
. dragInteractionEnabled
:
var dragInteractionEnabled: Bool { get set }
, , .
true
iPad false
iPhone. true
iPhone iPhone .
, dragInteractionEnabled
, UICollectionView
iPhone:
class CollectionViewController: UICollectionViewController {
override func viewDidLoad() {
super.viewDidLoad()
collectionView?.dragInteractionEnabled = true
}
}
# 3. UIImageView
iPhone
UIDragInteraction
, isEnabled
. isEnabled
:
var isEnabled: Bool { get set }
, , .
, isEnabled
, UIImageView
iPhone:
class ViewController: UIViewController, UIDragInteractionDelegate, UIDropInteractionDelegate {
let imageView = UIImageView()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(imageView)
imageView.image = UIImage(named: "MyImage")
imageView.isUserInteractionEnabled = true
imageView.contentMode = .scaleAspectFit
imageView.frame = view.bounds
imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
let dropInteraction = UIDropInteraction(delegate: self)
imageView.addInteraction(dropInteraction)
let dragInteraction = UIDragInteraction(delegate: self)
dragInteraction.isEnabled = true
imageView.addInteraction(dragInteraction)
}
}