आप इंटरफ़ेस बिल्डर में stretchableImageWithLeftCapWidth कैसे सेट करते हैं?आप इंटरफ़ेस बिल्डर में stretchableImageWithLeftCapWidth कैसे सेट करते हैं?
उत्तर
इंटरफ़ेस निर्माता खिंचाव वाली छवियों का समर्थन नहीं करता है।
-(void) viewDidLoad {
[super viewDidLoad];
[myImageView setImage:[[myImageView image] stretchableImageWithLeftCapWidth:5 topCapHeight:5 ]];
}
यह वर्तमान में (संस्करण 4.5 के रूप में) इंटरफेसबिल्डर की एक सीमा है। हालांकि, प्रत्येक बटन के लिए IBOutlet
बनाने और मैन्युअल रूप से निर्दिष्ट करने के लिए कि छवि viewDidLoad
में फैला हुआ है, यह एक अच्छा समाधान नहीं है, अगर इससे अन्य कारणों से यूआई को अधिक बोझिल और अधिक भंगुर बनाने में मदद मिलती है।
इसके बजाए, UIButton
सबक्लास बनाएं जो हमेशा डिफ़ॉल्ट रूप से किसी भी पृष्ठभूमि छवि को फैलाएगा। इस उदाहरण में मैं केवल सामान्य और हाइलाइट की गई पृष्ठभूमि छवि को खींचता हूं। उत्पादन-तैयार वर्ग के लिए आप शायद सभी पृष्ठभूमि और अग्रभूमि छवियों दोनों के राज्यों को जांचना चाहते हैं और उन्हें खींचें।
@implementation NTSTButton
- (id) initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
/* There is no support in IB for stretchable images. So, let's
make sure _any_ background image assigned to this button
stretches correctly.
Note: Setting the stretch cap to 10px, which should work with
almost all button background images.
*/
UIImage *normalImage =
[[self backgroundImageForState:UIControlStateNormal]
stretchableImageWithLeftCapWidth:10 topCapHeight:10] ;
UIImage *highlightedImage =
[[self backgroundImageForState:UIControlStateHighlighted]
stretchableImageWithLeftCapWidth:10 topCapHeight:10] ;
[self setBackgroundImage:normalImage
forState:UIControlStateNormal];
[self setBackgroundImage:highlightedImage
forState:UIControlStateHighlighted];
}
return self;
}
@end
+1 दिशा के लिए धन्यवाद – Brenden
@answerbot की तरह, लेकिन 5.0+ iOS के लिए अद्यतन stretchableImageWithLeftCapWidth:topCapHeight:
के रूप में अब मान्य नहीं है।
@implementation UIButtonStretchable
- (id) initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self setBackgroundImage: [[self backgroundImageForState:UIControlStateNormal] resizableImageWithCapInsets:UIEdgeInsetsMake(22,6,22,6)]forState:UIControlStateNormal];
[self setBackgroundImage: [[self backgroundImageForState:backgroundImageForState:UIControlStateHighlighted] resizableImageWithCapInsets:UIEdgeInsetsMake(22,6,22,6)]forState:backgroundImageForState:UIControlStateHighlighted];
}
return self;
}
@end
iOS7 भी पेश एसेट कैटलॉग जहां आप अपने चित्रों के खींचे क्षेत्र निर्दिष्ट कर सकते हैं, लेकिन यह केवल काम करता है अगर आप केवल iOS7 समर्थन (यानी, आप मूल iPad, आइपॉड टच के उपयोगकर्ताओं के बारे में परवाह नहीं करते हैं, या 3 जीएस; हाँ, आईओएस में कोई विखंडन नहीं है)।
उपयोग Stretching
कॉन्फ़िगरेशन देखें।
सबसे पहले, व्यू मोड को
Aspect fill
पर बदलें।फिर
Stretching
भाग में एक्स, वाई, चौड़ाई, ऊंचाई फ़ील्ड संपादित करें। उदाहरण के लिए: माना कि आप एक छवि का आकार 10x20 है, और ==> एक दृश्य के आकार 5x10 में फिट करना चाहते हैं एक्स = 5/10 = 0.5, वाई = 10/20 = 0,5
नोट: आईबी doesnot आप बड़ा फ्रेम में छोटी छवि के लिए "खिंचाव" का उपयोग करने, ताकि आप संभव के रूप में बड़े रूप में अपनी छवि को डिजाइन करने के लिए की जरूरत है
- 1. क्या आप इंटरफ़ेस बिल्डर
- 2. इंटरफ़ेस बिल्डर
- 3. आप इंटरफ़ेस का परीक्षण कैसे करते हैं?
- 4. कैसे इंटरफ़ेस बिल्डर
- 5. इंटरफ़ेस बिल्डर
- 6. आप फ्लैश बिल्डर परियोजनाओं पर कैसे सहयोग करते हैं?
- 7. इंटरफ़ेस बिल्डर
- 8. stretchableImageWithLeftCapWidth
- 9. इंटरफ़ेस बिल्डर
- 10. इंटरफ़ेस बिल्डर
- 11. इंटरफ़ेस बिल्डर
- 12. आप CONTEXT_INFO = NULL कैसे सेट करते हैं?
- 13. इंटरफ़ेस बिल्डर
- 14. आप कैसे सेट करते हैं setDragImage
- 15. आप कैसे सेट अप करते हैं। Vimrc
- 16. इंटरफ़ेस बिल्डर
- 17. इंटरफ़ेस बिल्डर
- 18. इंटरफ़ेस बिल्डर
- 19. इंटरफ़ेस बिल्डर
- 20. इंटरफ़ेस बिल्डर
- 21. इंटरफ़ेस बिल्डर
- 22. इंटरफ़ेस बिल्डर:
- 23. इंटरफ़ेस बिल्डर
- 24. इंटरफ़ेस बिल्डर
- 25. इंटरफ़ेस बिल्डर
- 26. इंटरफ़ेस बिल्डर (एक्सकोड 4)
- 27. इंटरफ़ेस बिल्डर/स्टोरीबोर्ड में UIButton छवि सेट करें
- 28. इंटरफ़ेस बिल्डर में UITableview की पृष्ठभूमि सेट करें?
- 29. आप जेडडिटरपेन में टैब आकार कैसे सेट करते हैं?
- 30. आप एनएसआईएस में निर्देशिका अनुमतियां कैसे सेट करते हैं?
'इंटरफ़ेस बिल्डर खींचे images.' ==> क्षमा का समर्थन नहीं करता अनुमति देते हैं, लेकिन यह कर देता है। 'स्ट्रैचिंग' भाग इस भूमिका को लेता है, नीचे दिए गए उत्तर में – samthui7