жаль снова беспокоить вас о - (void)setNeedsDisplay
, которые не называют - (void)drawRect:
метод ... но я провожу так много времени на эту проблемукартинка не двигается (-setNeedsDisplay: ДА не вызывает DrawRect :)
I Я новичок в Objective-C, и я пытаюсь сделать простую съемку. (Я знаю, что мне нужно работать)
Но сейчас я просто хочу поднять картинку на вид. Например, изображение появляется в (0,0) представления, и я хотел бы, чтобы это изображение увеличивалось (в 10 пикселей) каждый раз, когда я нажимаю кнопку NSButton.
Проблема картина не двигается; ( Некоторые из вас могут проверить это Вот код:
#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
благодарит за быстрый ответ Денис Пашков! и рекомендуется использовать -frame. но изображение больше не появляется, потому что вы удаляете метод -drawRect ... Если я добавляю метод -drawRect, изображение появляется, но все равно не перемещается, когда я нажимаю на NSButton ... –
, и если я попытаюсь поставить [self addSubview: monMonstre] внутри метода -boutonClic, изображение не будет отображаться .. –
Вы должны добавить свой «monMonstre» только один раз, когда вы его запустите. Если вы хотите, чтобы его показывали, вы должны установить для него изображение) –