का पालन नहीं करता है, मैं बस ओएसएक्स ऐप देव के साथ खेल रहा हूं। मैं पूरी तरह से नोब हूँ। मैंने सोचा कि यह आईओएस ऐप देव की तरह सीधे आगे है। लेकिन इस पर जाने के कुछ दिनों के बाद, ऐसा लगता है कि यह इतना आसान नहीं है।एनएसआईमेज व्यू आकार अपनी विंडो के
यहां मैं जो करने की कोशिश कर रहा हूं वह यहां है। मेरे पास एनएसविंडो है। इसमें मैंने एक छवि अच्छी तरह से रखा है (नामकरण के साथ wth? Lol) ठीक है "छवि ठीक है", यह एक एनएसआईमेज व्यू (कोई इरादा नहीं है) है।
तो मैं सिर्फ एनएसआईमेजव्यू के फ्रेम को एनएसविंडो के आकार के बाद आकार बदलने के लिए चाहता हूं। यह इत्ना आसान है।
imageView के रूप मेंNSImageView:
यहाँ मैं क्या किया है कि काम नहीं कर रहा है।
NSWindow विंडो की प्रतिनिधि विधि NSWindowDelegate विधि लिखेंडिडसाइज और विंडोडिड रीसाइज़ करें: और छवि के फ़्रेमइज़ का आकार बदलें, इसमें छवि दृश्य के फ्रेम देखें। कोड: (NSImageView एक संपत्ति imageView कहा जाता है।)
- (void)windowDidResize:(NSNotification *)notification {
// NSLog(@"resized");
NSRect zWindowRect = [[self window]frame];
NSRect zContentRect = [[self window]contentRectForFrameRect:zWindowRect];
[self.imageView setFrameSize:NSMakeSize(zContentRect.size.width,
zContentRect.size.height)];
[self.imageView setNeedsDisplay:YES];
}
इस विधि कहा जाता है (परीक्षण किया है कि NSLog()
के साथ), तथापि NSImageView
सिर्फ वहाँ मूल आकार के साथ रहता है। मैंने जांच की कि IBOutlet
कनेक्शन ठीक है।
क्या देता है? NSImageView
का आकार क्यों नहीं बदला जाएगा?
ठीक है, मैंने setFrame या setFrameSize के बजाय सेटबाउंड्स की कोशिश की, अब NSImageView आकार बदलता है, लेकिन सबसे अजीब तरीके से। जब मैं एनएसविंडो को बड़ा करता हूं, तो एनएसआईमेज व्यू छोटा हो जाता है, और जब मैं एनएसविंडो आकार को कम करता हूं, तो NSIMageView बड़ा हो जाता है ... घातीय रूप से। तो, कोई जानता है कि यहाँ क्या हो रहा है? – GeneCode