我有这样的情况:
我有一个包含自定义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];
}...But什么也没发生!
使用NSLog,我发现框架"x“和"y”已经更新了,但它显示在原来的位置!有什么线索吗?
谢谢
发布于 2012-12-16 09:21:38
dragAndDropImageView和clearButton在视图内部居中。在awakeFromNib中,我将它们设置为屏幕外,然后使用NSAnimation将它们滑入。
为什么不在nib中将它们设置为隐藏/alphaValue到0,然后让你的NSViewAnimation同时显示它们(淡入)并将它们移动到适当的位置?
发布于 2012-12-16 06:46:53
我找到了一个解决方案:
-(void)awakeFromNib
{
//dragAndDropImageView frame
NSRect ddivFrame = [dragAndDropImageView frame];
ddivFrame.origin.x = SOME_NUMBER;
ddivFrame.origin.y = SOME_NUMBER;
[[dragAndDropImageView animator] setFrame:ddivFrame];
}这项工作完美无瑕!
https://stackoverflow.com/questions/13888675
复制相似问题