当我按下标题视图中的编辑按钮没有任何反应时,该按钮无法选择,我不知道为什么。
带编辑UIButton和按钮功能的自定义UICollectionReusableView。
class headerView: UICollectionReusableView {
var editProfile = UIButton()
func editBtnPressed(_ sender: UIButton) {
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc : editVC = storyboard.instantiateViewController(withIdentifier: "search") as! editVC
let navigationController = UINavigationController(rootViewController: vc)
}
override init(frame: CGRect) {
super.init(frame: frame)
addSubview(editProfile)
editProfile.translatesAutoresizingMaskIntoConstraints = false
}
}
调用编辑UIButton函数的UICollectionViewController。
class homeVC: UICollectionViewController, UICollectionViewDelegateFlowLayout {
override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
//define header
let header = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "Header", for: indexPath) as! headerView
header.awakeFromNib()
header.editBtn = editBtnPressed
header.editProfile.addTarget(self, action: #selector(headerView.editBtnPressed(_:)), for: .touchUpInside)
}
}
答案 0 :(得分:0)
您手动调用awakeFromNib,但系统会自动调用它。如果被叫两次会引起像这样的奇怪问题,我不会感到惊讶。我尝试删除该手动调用,看看是否可以修复它。
此外,您创建editButton但不要将其框架设置在任何位置。我还会将你的addSubview调用从init移出,并在部分设置视图时进入awakeFromNib。