2015-09-21 11 views
13

में एक केंद्रित कस्टम दृश्य को एनिमेट/ज़ूम करें मेरे पास मेरे टीवीओएस ऐप में एक कस्टम UICollectionViewCell है। इसमें UIImageView और कुछ UILabel एस है। मैं किसी भी मुद्दे के बिना UIFocusEnvironment प्रोटोकॉल को लागू करके सेल को ध्यान में रख सकता हूं, लेकिन मैं यह नहीं समझ सकता कि मेरे कस्टम सेल को केंद्रित उपस्थिति कैसे दी जाए। (टचपैड पर उपयोगकर्ता आंदोलन की ऊंचाई और प्रतिक्रिया)।टीवीओएस

मुझे UIImageView की adjustsImageWhenAncestorFocused संपत्ति के बारे में पता है, लेकिन यह केवल मेरे सेल में छवि को बढ़ाता है, पूरे सेल में नहीं।

क्या टीवीओएस मेरे कस्टम व्यू पर (प्रतीत होता है) मानक फोकस उपस्थिति/व्यवहार को लागू करने का कोई तरीका है या क्या मुझे इसे मैन्युअल रूप से करना है?

अग्रिम धन्यवाद।

उत्तर

16

मैंने ऐप्पल डेवलपर मंचों पर एक ही सवाल पूछा। ऐप्पल स्टाफ ने उत्तर दिया:

कस्टम विचारों के लिए आपको फोकस उपस्थिति स्वयं को लागू करना होगा। फोकस अपडेट विधि में आप को लागू करने और UIMotionAffect API का उपयोग करने जैसी चीजें कर सकते हैं।

- (void)didUpdateFocusInContext:(UIFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator { 
    if (context.nextFocusedView == self) { 
     // handle focus appearance changes 
    } 
    else { 
     // handle unfocused appearance changes 
    } 
} 

मुझे लगता है कि यह बहुत एक UIView एक्सटेंशन किसी भी कस्टम दृश्य के लिए एक ही व्यवहार लागू करने के लिए सक्षम होने के लिए बनाने के लिए उपयोगी होगा।

शायद वे चाहते हैं कि हम उपयोगकर्ता को फ़ोकस प्रदर्शित करने के लिए अधिक दिलचस्प तरीके कार्यान्वित करें? यह आसानी से केवल UIImageView के लिए इसे सक्षम करने का एक अच्छा कारण होगा (यह उल्लेख नहीं करना चाहिए कि यह व्यवहार UIImageView पर नकली प्रकाश भी जोड़ता है, जो कि सुंदर है, लेकिन शायद छवियों के लिए केवल समझ में आता है)।

संबंधित मुद्दे