C'è un modo per verificare se uno CGPoint
è all'interno di uno specifico CGRect
. Ad esempio: sto trascinando un UIImageView
e voglio verificare se il suo punto centrale CGPoint
è all'interno di un altro UIImageView
come posso fare?IOS: verificare se un punto si trova all'interno di un rect
risposta
Vedere CGRectContainsPoint()
nella documentazione.
bool CGRectContainsPoint(CGRect rect, CGPoint point);
Parametri
rect
Il rettangolo di esaminare.point
Il punto da esaminare. Valore restituito true se il rettangolo non è nullo o vuoto e il punto si trova all'interno del rettangolo; altrimenti, falso.
Un punto è considerato all'interno del rettangolo se le sue coordinate giacciono all'interno del rettangolo o sul X minimo o sul bordo Y minimo.
UIView's pointInside: withEvent: potrebbe essere una buona soluzione. Restituisce un valore booleano che indica che il dato CGPoint è presente o meno nell'istanza di UIView che si sta utilizzando. Esempio:
UIView *aView = [UIView alloc]initWithFrame:CGRectMake(0,0,100,100);
CGPoint aPoint = CGPointMake(5,5);
BOOL isPointInsideView = [aView pointInside:aPoint withEvent:nil];
è così semplice, è possibile utilizzare il metodo seguente per fare questo tipo di lavoro: -
-(BOOL)isPoint:(CGPoint)point insideOfRect:(CGRect)rect
{
if (CGRectContainsPoint(rect,point))
return YES;// inside
else
return NO;// outside
}
Nel tuo caso, è possibile passare imagView.center come punto e altro imagView.frame come metodo perfetto.
È inoltre possibile utilizzare questo metodo in muggito UITouch Metodo:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
}
In Swift che sarebbe simile a questa:
let point = CGPointMake(20,20)
let someFrame = CGRectMake(10,10,100,100)
let isPointInFrame = CGRectContainsPoint(someFrame, point)
Swift 3 Versione:
let point = CGPointMake(20,20)
let someFrame = CGRectMake(10,10,100,100)
let isPointInFrame = someFrame.contains(point)
Link to documentation. Ricordatevi di controllare il contenimento se entrambi sono nello stesso sistema di coordinate, se non allora conversioni sono tenuti (some example)
Grazie molto chiaro –
a Swift si può fare in questo modo:
let isPointInFrame = frame.contains(point)
"frame" è una CGRect e " punto" è una CGPoint
in Objective C è possibile utilizzare CGRectContainsPoint (yourview.frame, touchpoint)
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UITouch* touch = [touches anyObject];
CGPoint touchpoint = [touch locationInView:self.view];
if(CGRectContainsPoint(yourview.frame, touchpoint)) {
}else{
}}
In swift 3 yourview.frame.contiene (touchpoint)
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch:UITouch = touches.first!
let touchpoint:CGPoint = touch.location(in: self.view)
if wheel.frame.contains(touchpoint) {
}else{
}
}
- 1. Determinare se un punto si trova all'interno di un triangolo
- 2. Identificare se un punto si trova all'interno di un poligono?
- 3. Come verificare se un punto si trova all'interno di un poligono convesso in coordinate intere 2D?
- 4. Come verificare se un punto si trova all'interno di un ellissoide?
- 5. Verificare se un elemento si trova all'interno di una sequenza
- 6. Come verificare se un punto si trova su una linea tra altri 2 punti
- 7. Come verificare se il cursore si trova su un elemento?
- 8. come verificare se un host si trova nel tuo server_host_01
- 9. Come trovare se un punto si trova all'interno di un set di intervalli?
- 10. Come verificare se un punto (x, y) si trova all'interno di un poligono nel sistema di coordinate cartesiane?
- 11. Qual è il modo più veloce per verificare se un punto si trova all'interno di un poligono in python
- 12. Come verificare se un punto (o parte) di una linea si trova all'interno o tocca un rettangolo
- 13. rileva se un punto si trova all'interno di una sovrapposizione MKPolygon
- 14. Verificare se un punto è in un rettangolo ruotato (C#)
- 15. Mongodb: verifica se un punto si trova all'interno di un poligono memorizzato
- 16. Come posso verificare se un valore si trova all'interno di un intervallo?
- 17. Come posso verificare se un elemento si trova all'interno di un altro in jQuery?
- 18. Django: come verificare se un elemento si trova nel campo ManyToMany di un altro elemento?
- 19. Qual è un modo efficace per scoprire se un punto si trova nello scafo convesso di una nuvola di punti?
- 20. Come scoprire se un punto GPS si trova in un determinato set di posizione GPS iniziale e finale?
- 21. In Django, come posso verificare se un utente si trova in un determinato gruppo?
- 22. Verificare se ogni elemento in un array si trova in un secondo array
- 23. Determinare se un punto si trova all'interno o all'esterno di una forma con opencv
- 24. Verifica se un punto di tocco si trova all'interno del collisore in Unity
- 25. Come verificare se un valore si trova in una sequenza di valori?
- 26. Come faccio a verificare se una stringa si trova all'interno di un array in Visual Basic?
- 27. iOS - rimozione bordi attorno a un pulsante Round Rect
- 28. Trova un punto tangente sul cerchio?
- 29. geometria 2D: come verificare se un punto è all'interno di un angolo
- 30. Android: come verificare se un percorso contiene punti toccati?
L'anello mancante;) https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html – ezekielDFM
mi risparmiare tempo. Grazie – HamasN
Grazie mille ... –