2012-12-15 9 views
3

이 상황이 있습니다 :NSImageView를 어떻게 움직입니까?

사용자 지정 NSImageView가 포함 된 NSView가 있습니다. 보기 컨트롤러에서 NSImageView를 이동하려하지만 지금까지 성공하지 못했습니다.

#import <Cocoa/Cocoa.h> 

#include "MyAppDragAndDropImageView.h" 

@interface MyAppViewController : NSViewController <MyAppDragAndDropImageViewDelegate> 

@property (nonatomic,assign) IBOutlet MyAppDragAndDropImageView *dragAndDropImageView; 

@property (nonatomic,assign) IBOutlet NSTextField *workingFileLabel; 
@property (nonatomic,assign) IBOutlet NSTextField *workingFileSizeLabel; 

@property (nonatomic,assign) IBOutlet NSButton *clearButton; 

-(IBAction)onClearButtonClicked:(id)sender; 

모든 IBOutlets이 인터페이스 빌더에서 연결되었습니다

뷰 컨트롤러의 헤더입니다.

내가 정의 NSImageView를 이동하는 뷰 컨트롤러 내부에이 코드를 사용하고

...

-(void)awakeFromNib 
{ 
    //dragAndDropImageView frame 
    NSRect ddivFrame = [dragAndDropImageView frame]; 
    ddivFrame.origin.x = SOME_NUMBER; 
    ddivFrame.origin.y = SOME_NUMBER; 

    [dragAndDropImageView setFrame:ddivFrame]; 
    [dragAndDropImageView setNeedsDisplay:YES]; 

} 

...하지만 아무 반응이 없습니다!

NSLog를 사용하여 "x"와 "y"프레임이 업데이트되었지만 이전 위치에 표시되었습니다! 모든 단서?

감사

+0

코드에 'dragAndDropImageView'를 만들고 할당하고 있습니까? 그렇다면 해당 코드를 포함하도록 질문을 편집하십시오. 또한'MyAppDragAndDropImageView' 클래스에서'frame' 또는'setFrame :'을 오버라이드하지 않았습니까? –

+0

인터페이스 빌더를 사용하여 할당되었으므로 해당 메소드를 재정의하지 않았습니다. 하지만 임시 솔루션을 찾았습니다. – Zi0P4tch0

+0

나는 문제를 먼저 이해하지 않고 해결책이라고 부르는 것을 망설였다. 덧붙여서, 왜 awakeFromNib에서 프레임을 설정하고 있습니까? –

답변

0

dragAndDropImageViewclearButton은 뷰의 중앙에 있습니다. awakeFromNib에서 나는 그들을 오프 스크린 설정 한 다음, 나는 그들을 밀어하기 위해 NSAnimation를 사용합니다. 모두 그들 (그들을 페이드 보여 당신의 NSViewAnimation을 펜촉에 0에/alphaValue 숨겨진로 설정 한 다음이없는 이유

) 그리고 그들을 위치로 움직이십시오?

1

나는 해결책을 발견 :이 flawlessy 작동

-(void)awakeFromNib 
{ 
    //dragAndDropImageView frame 
    NSRect ddivFrame = [dragAndDropImageView frame]; 
    ddivFrame.origin.x = SOME_NUMBER; 
    ddivFrame.origin.y = SOME_NUMBER; 

    [[dragAndDropImageView animator] setFrame:ddivFrame]; 

} 

!

관련 문제