Mam UIImageView, który dodaję do UIView, aby ulepszyć obszar, w którym są rozpoznawane dotknięcia. Kiedy próbuję wyśrodkować UIImageView w UIView (kod poniżej), środek jest ustawiony prawidłowo, ale kiedy uruchomię program, obraz jest pokazany poza ramką UIView.UIImageview nie wyśrodkuje w superview
Wszelkie pomysły?
// 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));
Dzięki!
Dzięki za szybką odpowiedź, ale gdy próbuję [self.imageView setCenter: self.center] wynik jest taki sam :-( – illogic
To nie jest to, co sugerowałem. Musisz uzyskać punkt odnoszący się do rodzica. self.center zwróci je względem swojego rodzica i nie powinno działać – tillerstarr
, ale self jest super-podglądem, więc w tym przypadku jest to rodzic. Czy ja się mylę? – illogic