J'utilise un PopoverController et je veux me débarrasser de l'ombre d'arrière-plan. Apple dit le UIPopoverBackgroundView et sous-classement retourner false
pour override class var wantsDefaultContentAppearance: Bool { get }
Swift iOS -Comment connecter la méthode dans UIPopoverBackgroundView Class à un PopoverController dans une classe différente?
et je sous-classé régler la bool false
mais l'ombre montre encore. Comment connecter cette sous-classe au PopoverController que j'utilise dans ma Feuille d'Actions dans ma LogoutClass?
sous-classe UIPopoverBackgroundView:
class PopoverBackgroundView: UIPopoverBackgroundView {
override class var wantsDefaultContentAppearance: Bool {
get {
return false
}
}
}
LogoutController:
class LogoutController:UIViewController{
fileprivate func logOff(){
let actionSheet = UIAlertController(title: nil, message: "Logging out?", preferredStyle: .actionSheet)
let logout = UIAlertAction(title: "Log Out", style: .default){
(action) in
//bla bla bla
}
actionSheet.addAction(logout)
if let popoverController = actionSheet.popoverPresentationController{
popoverController.sourceView = view
guard let window = UIApplication.shared.keyWindow else { return }
window.backgroundColor = .clear
popoverController.sourceRect = CGRect(x:window.bounds.midX, y:window.bounds.midY, width:0, height:0)
popoverController.permittedArrowDirections = []
}
present(actionSheet, animated: true, completion: nil)
}
}
merci pour l'aide. J'ai essayé mais l'ombre est toujours là donc je ne sais pas si ça marche ou pas. –
son ne fonctionne toujours pas mais votre réponse est correcte. Il y a un problème avec l'implémentation de la classe d'arrière-plan. Merci quand même –