मैं के ऊपर के साथ के साथ UIAlertController
प्रदर्शित करना चाहता हूं। संग्रह को देखने स्टार्टअप पर ध्यान केंद्रित करने की जरूरत है, तो मैं preferredFocusableView
चर overrode इस प्रकार है:टीवीओएस पर एक यूआईएलर्ट कंट्रोलर खोलने पर फोकस गायब हो रहा है 10 जीएम
override var preferredFocusedView: UIView? {
return self.collectionView
}
tvOS 9 सब के साथ ठीक काम किया: चेतावनी नियंत्रक ठीक से खोला और मैं दिखाया गया UIAlertAction
रों से एक का चयन करने में सक्षम था।
टीवीओएस 10 गोल्डन मास्टर पर, अलर्ट कंट्रोलर खोलने और दूसरी कार्रवाई पर स्क्रॉल करने के बाद, स्क्रीन से फोकस गायब हो जाता है और मैं अन्य कार्यों में स्क्रॉल करने या सिरी रिमोट के मेनू बटन पर टैप करने में असमर्थ हूं। ऐप अलर्ट कंट्रोलर में फंस गया है और जब मैं अन्य कार्यों पर स्क्रॉल करने का प्रयास करता हूं तो स्क्रॉलिंग ध्वनि सुन सकता हूं लेकिन स्क्रीन पर कुछ भी नहीं होता है। मुझे ऐप छोड़ने और इसे दोबारा खोलना होगा।
इस एप्लिकेशन का कोड है। मैं preferredFocusableView
alertController.preferredFocusedView
करने के लिए या संग्रह को देखने का ध्यान केंद्रित तरीकों को हटाने के द्वारा, लेकिन कोई परिणाम के साथ स्थापित करने के लिए कोशिश की।
var alertController : UIAlertController?
func showAlert() {
alertController = UIAlertController(title:"Example title", message: "Example description", preferredStyle: .Alert)
let action1 = UIAlertAction(title: "Option 1", style: .Default) { (action : UIAlertAction) -> Void in
//call to another method
}
// action2, action3, action4...
let action5 = UIAlertAction(title: "Option 5", style: .Default) { (action : UIAlertAction) -> Void in
//call to another method
}
let actionDismiss = UIAlertAction(title: "Dismiss", style: .Destructive) { (action : UIAlertAction) -> Void in
self.alertController!.dismissViewControllerAnimated(true, completion: nil)
}
alertController!.addAction(action1)
alertController!.addAction(action2)
alertController!.addAction(action3)
alertController!.addAction(action4)
alertController!.addAction(action5)
alertController!.addAction(actionDismiss)
alertController!.preferredAction = action1
self.presentViewController(alertController!, animated: true, completion: nil)
}
override var preferredFocusedView: UIView? {
if self.alertController != nil {
return self.alertController!.preferredFocusedView
} else {
return self.collectionView
}
}
आप 'showAlert' कहां कह रहे हैं? –
@DanielStorm जब उपयोगकर्ता दृश्य नियंत्रक के अंदर एक बटन पर रिमोट के साथ टैप करता है –
पसंदीदा फ़ोकस व्यू को टीवीओएस 10 में हटा दिया गया था https://developer.apple.com/reference/uikit/uifocusenvironment/1616830-preferredfocusedview –