मैं एक कस्टम कीबोर्ड बना रहा हूं और मुझे शिफ्ट बटन के अंदर शिफ्ट आइकन की छवि को केंद्रित करने की आवश्यकता है। छवि 100px x 100px है।स्विफ्ट में दोनों दिशाओं में फैले बिना UIButton के अंदर एक छवि को कैसे केन्द्रित करें?
हालांकि, चित्र में बटन फ्रेम 36pt x 38pt
है, और परिदृश्य में, यह 68pt x 32pt
है। मैंने छवि को केंद्र में रखने के लिए बटन छवि इन्सेट संपत्ति का उपयोग करने का प्रयास किया है। हालांकि, ऐसा नहीं करता है।
मैंने अपने आप को आजमाया और छवि किनारे के इन्सेट को (25,25,25,25)
पर सेट किया, दोनों आकारों में छवि केंद्र। हालांकि, आइकन देखने के लिए बहुत छोटा हो जाता है।
shiftButton.setImage(UIImage(named: "shift"), forState: .Normal)
shiftButton.imageEdgeInsets = UIEdgeInsetsMake(0,0,0,0)
मैं प्रोग्राम को प्रोग्रामिक रूप से बना रहा हूं। और, मुझे अपने पहलू अनुपात को बनाए रखने के लिए बटन की आवश्यकता है यानी 1:1
। इसकी अधिकतम चौड़ाई या ऊंचाई हमेशा बटन की ऊंचाई से जुड़ी होती है। छवि चौड़ाई/ऊंचाई अधिकतम बटन की ऊंचाई होनी चाहिए। और, यह आइकन विकृत करने के लिए किसी भी तरह से खिंचाव नहीं करना चाहिए। हालांकि, बटन स्वयं खिंचाव कर सकते हैं।
मुझे बटन फ्रेम के अनुसार स्केल करने की छवि की आवश्यकता है लेकिन इसके पहलू अनुपात को बनाए रखें। और, यह स्केल या स्केल डाउन कर सकता है, लेकिन हमेशा 1: 1 पहलू अनुपात को बनाए रखना चाहिए।
इस समस्या को हल करने के लिए कोई सुझाव?
। नवीनतम स्विफ्ट के लिए सेंसर और .scaleAspectFit (अब लोअरकेमकेस का उपयोग कर) –