很抱歉再次打扰您关于- (void)setNeedsDisplay
which does not call
- (void)drawRect:
方法...但我在这个问题上花了很多时间
我是 Objective-C 的初学者,我正在尝试做一个简单的拍摄。(我知道我需要工作)
但是现在,我只想在视图中举起一张图片。例如,图片出现在视图的 (0,0) 处,我希望每次按下 NSButton 时都能使这张图片上升(10 像素)。
问题是图片不动;(你们中的一些人可以检查一下?这是代码:
#import <Cocoa/Cocoa.h>
@interface maVue : NSView {
NSImageView * monMonstre;
int nombre;
}
@property (readwrite) int nombre;
- (IBAction)boutonClic:(id)sender;
@end
#import "maVue.h"
@implementation maVue
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
nombre = 2;
monMonstre = [[NSImageView alloc]init];
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
// Drawing code here.
[monMonstre setFrame:CGRectMake(0,[self nombre],100,100)];
[monMonstre setImage:[NSImage imageNamed:@"monstre.jpg"]];
[self addSubview:monMonstre];
}
- (IBAction)boutonClic:(id)sender
{
[self setNombre:[self nombre]+10];
[self setNeedsDisplay:YES];
}
- (void)setNombre:(int)nouveauNombre
{
nombre=nouveauNombre;
}
- (int)nombre
{
return nombre;
}
@end