Ich habe eine UIImageView, die ich zu einer UIView hinzufügen, um den Bereich zu verbessern, in dem Berührungen erkannt werden. Wenn ich versuche, die UIImageView in der UIView zu zentrieren (Code unten), wird die Mitte richtig eingestellt, aber wenn ich das Programm ausführe, wird das Bild weit außerhalb des Rahmens der UIView angezeigt.UIImageview wird nicht in superview zentrieren
Irgendwelche Ideen?
// image size is 32x32 pixels but view will be created with 44x44 so touch recognition is better
self = [super initWithFrame:CGRectMake(position.x, position.y, 44, 44)];
if (self) {
switch (color) {
case Blue:
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pin_red"]];
break;
case Green:
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pin_green"]];
default:
break;
}
[self setCenter:position];
[self addSubview:self.imageView];
[self setExclusiveTouch:YES];
[self setBackgroundColor:[UIColor clearColor]];
[self.imageView setCenter:position];
NSLog(@"uiview center: %@", NSStringFromCGPoint(self.center));
NSLog(@"image center: %@", NSStringFromCGPoint(self.imageView.center));
Vielen Dank!
Danke für die schnelle Antwort, aber wenn ich versuche, [self.imageView setCenter: self.center] Das Ergebnis ist dasselbe :-( – illogic
Das war nicht was ich vorschlug. Sie müssen einen Punkt erhalten, der relativ zum übergeordneten Objekt ist. self.center wird es relativ zu seinem Elternteil zurückgeben und sollte nicht funktionieren – tillerstarr
aber Selbst ist die Superansicht und so ist es das Elternteil in diesem Fall. Oder liege ich falsch? – illogic