2016-08-15 11 views
17

गोल अपने प्रोजेक्ट मैं क्रम में निम्नलिखित कोड का उपयोग गोल आकार में अपनी छवियों बनाने के लिए के साथ:ios तेज 3 xcode8 बीटा imageView

profileImage.layer.cornerRadius = profileImage.frame.size.width/2 
profileImage.clipsToBounds = true 

मैं भी मेरी छवि के लिए contrains का उपयोग यह width = hight बनाने के लिए, और अन्य बाधाओं ।

xcode 8 बीटा, और तेज 3. सभी छवियों विचारों कि मैं गोल करने के लिए सेट करने के लिए अपने प्रोजेक्ट ugrading गायब हो गया, और जब मैं बनाने के लिए कोड को दूर यह गोल या मैं सभी बाधाओं वे फिर से दिखाई निकालने के बाद ।
लेकिन मुझे अभी भी गोल करने की आवश्यकता है। कोई भी इस मुद्दे को ठीक करने में मेरी मदद कर सकता है। धन्यवाद

+0

:

profileImage.layer.cornerRadius = profileImage.frame.size.width/2 profileImage.clipsToBounds = true 

या

जगह viewDidLayoutSubviews() विधि में फ्रेम/परतों से संबंधित अपने कोड डीबगर में जांचें, वैल क्या है 'ProfileImage.frame.size.width' के कारण। लेआउट उस समय पूरा नहीं हो सकता है। इसलिए, कोने त्रिज्या को अमान्य मान पर सेट किया जा सकता है। क्या आपने एक ही समय में आईओएस 10 में अपग्रेड किया था? – Codo

+0

ऐप्पल रिलीज नोट्स में भी नोट करता है कि नए आईबी फ़ाइल प्रारूप के साथ समस्याएं हैं (जो ज्यादातर बीटा 5 में तय की गई हैं)। मैंने अपने स्टोरीबोर्ड में खुद को बदलते हुए विचार और बाधाएं रखीं। – jjatie

+0

एक्सकोड के cuurent संस्करण के साथ यह ठीक काम करता है, एक्सकोड बीटा 5 में अपग्रेड के बाद, सभी छवियों जिन्हें मैंने गोल किया था गायब हो गए थे। मैं हमेशा सुनिश्चित करता हूं कि चौड़ाई = हाइट। मैंने इसे बाधाओं का उपयोग करके सेट किया है। –

उत्तर

26

मुझे एक ही समस्या थी, समाधान केवल आपके परत संशोधन से पहले कोड की एक पंक्ति को स्थानांतरित करने के लिए था। अपने कोड से पहले

self.view.layoutIfNeeded() 

: लेआउट परिवर्तनों को लागू करने का प्रयास करें

override func viewDidLayoutSubviews() { 

    profileImage.layer.cornerRadius = profileImage.frame.size.width/2 
    profileImage.clipsToBounds = true 

} 
+0

आपको बहुत ज्यादा धन्यवाद। यह ठीक काम कर रहा है। –

+1

बस इस मुद्दे को ठीक करने की कोशिश कर रहे एक ठोस दिन बर्बाद: | – tufyx