簡體   English   中英

你如何移動NSImageView?

[英]How do you move a NSImageView?

我有這種情況:

我有一個NSView,其中包含一個自定義的NSImageView。 我試圖從視圖控制器移動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;

所有IBOutlet都已從Interface Builder連接。

我在視圖控制器中使用此代碼來移動自定義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”已經更新,但它顯示在舊位置! 有線索嗎?

謝謝

我找到了一個解決方案:

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

    [[dragAndDropImageView animator] setFrame:ddivFrame];

}

這樣做完美無瑕!

dragAndDropImageViewclearButton在視圖中居中。 awakeFromNib我將它們設置在屏幕外,然后我使用NSAnimation將它們滑入。

為什么不在nib中將它們設置為hidden / alphaValue0 ,然后讓你的NSViewAnimation顯示它們(淡入它們)並將它們移動到位?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM