2011-05-06 7 views
14

मैं UIButton के लिए एक छवि सेट करने का प्रयास कर रहा हूं।सेटबैकग्राउंड इमेज के बीच क्या अंतर है: फोर्स्टेट और सेट इमेज: फोर्स्टेट:

मैं setBackgroundImage के बीच अंतर पता नहीं: Forstate और setImage: Forstate:

किसी को भी मेरी मदद कर बाहर कर सकता है?

धन्यवाद और शुभकामनाएं।

उत्तर

4

अंतर तैयार

में है मैं उदाहरण की मदद से आप की व्याख्या करेगा मान लें कि आपकी छवि का आकार 40 * 40 है और बटन फ्रेम 20 * 20 है फिर अगर आप setBackgroundImage का उपयोग करें: छवि विधि: forState 20 * 20 फ्रेम में प्रदर्शित किया जाएगा और यदि आप setImage का उपयोग करते हैं: forState: विधि आपको 40 * 40 फ्रेम के छवि आकार वाले बटन दिखाई देगा। यह अंतर है।

हैप्पी कोडिंग !!

+0

धन्यवाद, जेनिफर, आप मुझे बताते हैं कि इन विधियों का उपयोग करके फ्रेम कैसे बदलता है। – shashoukou

19
  1. setImage:forState: छवि को बटन की वास्तविक सामग्री के रूप में सेट करता है। उदाहरण के लिए, आप इसे सेट करते समय भी शीर्षक बटन नहीं देख सकते हैं, क्योंकि आपने सामग्री के रूप में एक छवि सेट की है।

  2. setBackgroundImage:forState: छवि को पृष्ठभूमि के रूप में सेट करता है। इस मामले में, आप शीर्षक सेट कर सकते हैं और यह छवि के शीर्ष पर प्रदर्शित होता है।

+0

धन्यवाद, साइमन, आप मुझे प्रत्येक विधि में शीर्षक और छवि के बीच संबंध बताते हैं। – shashoukou

+0

@shashoukou: जैसा कि मैंने ऊपर बताया है, यदि आप 'setImage: forState:' विधि का उपयोग करते हैं तो आप बटन के लिए शीर्षक सेट नहीं कर सकते हैं (यह दिखाई नहीं देगा)। लेकिन, यदि आप 'सेटबैकग्राउंड इमेज: फॉरस्टेट:' का उपयोग करते हैं, तो आप शीर्षक सेट कर सकते हैं और यह दिखाई देगा। – EmptyStack

8

सेटबैकग्राउंड छवि: फ्रेम का पालन करें, यानी यदि आप फ्रेम बदलते हैं, तो पृष्ठभूमि छवि इसके साथ छिड़काई या सिकुड़ जाती है। सेट इमेज के विपरीत, यह वही नहीं है। छवि अपना आकार लेती है। सेट इमेज में छवि बटन की वास्तविक सामग्री है।

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