Est venu à travers ce quand j'ai essayé de dessiner un UIBezier à base de cœur de moi-même, mais était à la recherche pour un qui avait l'air un peu plus comme sur Instagram postes.
J'ai fini par écrire ma propre extension/classe donc je pensais que je voudrais partager ici, dans les cas où il est de toute utilisation à toute autre personne qui tombe sur cela à l'avenir.
L'aide, c'est aussi simple que l'initialisation d'un UIBezier de la même manière que vous le feriez pour un ovale:
let bezierPath =UIBezierPath(heartIn:self.bounds)
En plus de cela, j'ai fait une classe à l'aide d'afficher facilement le présent et le contrôle de certaines fonctions. Il va rendre pleinement de l'IB, avec des remplacements pour le remplir de la couleur (en utilisant la teinte de la couleur de la propriété), si oui ou non vous souhaitez un remplissage à tous, la course de la couleur et de la largeur du trait:
C'est un UIButton classe, mais il serait assez simple de modifier cela si vous ne voulez pas qu'il soit un bouton.
Voici à quoi il ressemble réellement:
Et avec juste la course:
Comment faites-vous appel à cette classe dans le code pour ensuite en tirer? J'utilise laissez-forme de cœur = HeartButton(), puis on ajoute la forme de cœur à la vue de l'heartView.addSubview(forme de cœur), mais il n'a pas de tirage
Ses bien mais ses pas gratuit. Il y a une version d'essai gratuite avec des fonctionnalités limitées (économie, etc.) avez-vous le paintcode fichier pour cela? Vous pouvez google pour le cœur "svg", puis importer le fichier.
Donc, comme vous pouvez le voir, il y a 2 fonctions maths simples. Vous avez juste besoin de dessiner dans drawRect:
Ou, vous pouvez facilement utiliser CorePlot cadre. Exemple utile.
Ici, qu'est-ce que cela les fonctions de dessin graphique de l'image? (1-(abs(x)-1)^2)^(1/2) - graphique bleu et arccos(1-abs(x))-pi - rouge graphique La façon dont vous avez créé cette interface? Cela fonctionne comme éditeur dans Xcode? Pas de. C'est juste l'exemple de graphique en ligne de constructeur Pouvez-vous donner le nom du site? Connaissez-vous d'autres constructeur de graphiques pour Xcode?
puis ajouter un autre arc.
Maintenant, tracez une ligne vers le bas pic à l'aide
-addCurveToPoint:controlPoint1:controlPoint2:
Utiliser les points de contrôle de la courbe de la ligne comme dans votre image.
Le UIBezierPath docs pour la méthode de l'échantillon de l'image qui décrit l'utilisation.
Enfin, ajouter une autre ligne de retour au point de départ et fermer le chemin.
Liés docs aussi vous montrer comment dessiner le Chemin d'accès par exemple dans drawRect.
Une autre option serait d'utiliser un CAShapeLayer pour afficher le chemin d'accès directement.
Une autre solution serait d'utiliser un logiciel comme PaintCode,
qui permet de dessiner les images visuellement et obtenir le code généré à la place de l'écriture elle-même.
Est venu à travers ce quand j'ai essayé de dessiner un UIBezier à base de cœur de moi-même, mais était à la recherche pour un qui avait l'air un peu plus comme sur Instagram postes.
J'ai fini par écrire ma propre extension/classe donc je pensais que je voudrais partager ici, dans les cas où il est de toute utilisation à toute autre personne qui tombe sur cela à l'avenir.
(C'est tout à Swift 3)
Tout d'abord, voici le UIBezier extension:
Vous aurez également besoin d'ajouter quelque part dans votre projet afin que la degreesToRadians des travaux d'extension:
L'aide, c'est aussi simple que l'initialisation d'un UIBezier de la même manière que vous le feriez pour un ovale:
En plus de cela, j'ai fait une classe à l'aide d'afficher facilement le présent et le contrôle de certaines fonctions. Il va rendre pleinement de l'IB, avec des remplacements pour le remplir de la couleur (en utilisant la teinte de la couleur de la propriété), si oui ou non vous souhaitez un remplissage à tous, la course de la couleur et de la largeur du trait:
@IBDesignable classe HeartButton: UIButton {
}
C'est un UIButton classe, mais il serait assez simple de modifier cela si vous ne voulez pas qu'il soit un bouton.
Voici à quoi il ressemble réellement:
Et avec juste la course:
OriginalL'auteur Carl Goldsmith
Vous pouvez essayer PaintCode.
Le dessiner et de le PaintCode générer UIBezierPath pour vous.
http://www.paintcodeapp.com/
Il y a une version d'essai gratuite avec des fonctionnalités limitées (économie, etc.)
avez-vous le paintcode fichier pour cela?
Vous pouvez google pour le cœur "svg", puis importer le fichier.
OriginalL'auteur PowHu
Donc, comme vous pouvez le voir, il y a 2 fonctions maths simples. Vous avez juste besoin de dessiner dans drawRect:
Ou, vous pouvez facilement utiliser CorePlot cadre. Exemple utile.
(1-(abs(x)-1)^2)^(1/2) - graphique bleu et arccos(1-abs(x))-pi - rouge graphique
La façon dont vous avez créé cette interface? Cela fonctionne comme éditeur dans Xcode?
Pas de. C'est juste l'exemple de graphique en ligne de constructeur
Pouvez-vous donner le nom du site? Connaissez-vous d'autres constructeur de graphiques pour Xcode?
OriginalL'auteur Pavel Gatilov
Vous devez créer un UIBezierPath.
Jetez un oeil à la doc: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIBezierPath_class/index.html
et de Pomme de bézier section dans le dessin guide:
https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/BezierPaths/BezierPaths.html
Vous pourriez commencer par dessiner un arc avec
puis ajouter un autre arc.
Maintenant, tracez une ligne vers le bas pic à l'aide
Utiliser les points de contrôle de la courbe de la ligne comme dans votre image.
Le UIBezierPath docs pour la méthode de l'échantillon de l'image qui décrit l'utilisation.
Enfin, ajouter une autre ligne de retour au point de départ et fermer le chemin.
Liés docs aussi vous montrer comment dessiner le Chemin d'accès par exemple dans drawRect.
Une autre option serait d'utiliser un CAShapeLayer pour afficher le chemin d'accès directement.
Une autre solution serait d'utiliser un logiciel comme PaintCode,
qui permet de dessiner les images visuellement et obtenir le code généré à la place de l'écriture elle-même.
OriginalL'auteur Thyraz
À d'autres intrus, voici une extension pour UIBezierPath pour dessiner un cœur.
Extrait de ce composant
https://github.com/ipraba/EPShapes
Attire le cœur avec une mise à l'échelle de 0,7(70% de l'original rect)
OriginalL'auteur iPrabu
Swift 4 version de https://github.com/ipraba/EPShapes
OriginalL'auteur Thien Chu