-(void)drawRect : (NSRect)rect
{
imgRect.orgin = NSZeroPoint;
imgRect.size = [appleImage size];
drawRect = [self bounds];
[appleRect drawInRect:appleRect
fromRect:imgRect
operation:NSCompositeSourceOver
fraction:1.0];
...
}
I'm trying this but it's not easy and driving me crazy.How to change NSRect type code to CGRect type code ?plz help! ps. i already know.. NSRect -> CGRect , NSZeroPoint -> CGRectZero
4 Réponses :
Il suffit d'utiliser ces 2 fonctions de cacao (no IOS): aperçu ici d'approfondir le sujet: http://cocoadev.com/cgrette p> p>
@Nicolasmiari ..hello de '5 ans plus tard' - et le lien travaille toujours: D (si je suis d'accord en général!)
Si vous rencontrez ceci dans iOS, par exemple avec ukeyyboardframeenduserinfokey code>, il est important de savoir que nsrect code> est une sous-classe de nsvalue code>.
En supposant que vous utilisiez la fondation d'Apple et non gnustep ou autre chose d'autre ...
nsrect code> est juste un ( typedef code> de CGRREC code> nsgeometry.h code> ligne 26-ish), de sorte que vous pouvez simplement utiliser soit dans Place de l'autre n'importe où. P> let nsTest1 = NSRect(x: 1, y: 2, width: 3, height: 4)
let cgTest1 = CGRect(x: 1, y: 2, width: 3, height: 4)
let cgTest2 = CGRect(x: 100, y: 200, width: 300, height: 400)
print(nsTest1 == cgTest1) // true
func takeCgRect(_ rect: CGRect) {
print("A core graphics rectangle at \(rect.origin) with size \(rect.size)")
}
func takeNsRect(_ rect: NSRect) {
print("A NeXTStep rectangle at \(rect.origin) with size \(rect.size)")
}
takeCgRect(nsTest1) // A core graphics rectangle at (1.0, 2.0) with size (3.0, 4.0)
takeNsRect(cgTest2) // A NeXTStep rectangle at (100.0, 200.0) with size (300.0, 400.0)
développeur.apple.com/documentation/foundation/1391329-nsmaker ect < Code> nsmakerect code> au lieu de nsrectmake code>
Lol je viens de copier les CG et a changé CG en NS. C'est ce que je reçois la cohérence des Apress Apis 😝 merci, @Vaughan!
Swift 5 strong> Cela fonctionne pour moi. Utilisez 'si' avant de laisser. P>
en double possible de Y a-t-il une différence entre un CGRRECT et un Nsrect?
Le blog post a trouvé ici Dribin.org/Dave/Blog/ Archives / 2007/03/15 / rect_conversion semble bien couvrir ce sujet assez bien.
Il n'y a rien dans votre question qui nécessite une conversion à CGRRECT.
- [NSImage Drawinrect: FromRect: opération: fraction:] code> prend un NSrect, que vous semblez déjà avoir.Découvrez cette réponse plus mise à jour ... Stackoverflow.com/a/25091800/4844059