dans le fichier .h:Que signifie cette déclaration?
@interface HitTestTool : NSObject
CGRect HitTestingBounds(CGRect bounds, CGFloat minimumHitTestWidth, CGFloat minimumHitTestHeight);
@end
et dans le fichier .m:
@implementation HitTestTool
CGRect HitTestingBounds(CGRect bounds, CGFloat minimumHitTestWidth, CGFloat minimumHitTestHeight) {
CGRect hitTestingBounds = bounds;
if (minimumHitTestWidth > bounds.size.width) {
hitTestingBounds.size.width = minimumHitTestWidth;
hitTestingBounds.origin.x -= (hitTestingBounds.size.width - bounds.size.width)/2;
}
if (minimumHitTestHeight > bounds.size.height) {
hitTestingBounds.size.height = minimumHitTestHeight;
hitTestingBounds.origin.y -= (hitTestingBounds.size.height - bounds.size.height)/2;
}
return hitTestingBounds;
}
donc je suis si confus, est qu'une méthode ou une propriété je n'ai jamais vu cela auparavant?.
il semble comme une méthode, mais le format est comme:
- (void) foo;
ou une propriété comme:
@property (nonatomic,strong) some property;
comme ça, non?
alors comment écrire la méthode CGRect?
Cela ressemble à une déclaration mal placée (et mise en œuvre) d'un fémi fonction. Vous pouvez le déplacer librement hors des blocs '@ interface' et' @ implementation'. – Eimantas
ressemble à une fonction ANSI-C standard pour moi, comme vous le savez l'Objective-C est un sous-ensemble de ANSI-C, donc les solutions ANSI-C standard pourraient être les bienvenues ici. – holex
@Eimantas merci – Neko