![](/img/trans.png)
[英]Horizontally center UILabel + UIImageView in superview using autolayout
[英]UIImageview won't center in superview
我有一個UIImageView,我添加到UIView,以增強識別觸摸的區域。 當我嘗試將UIImageView置於UIView(下面的代碼)中心時,中心設置正確,但是當我運行程序時,圖像顯示在UIView框架之外。
有任何想法嗎?
// 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));
謝謝!
imageview setCenter相對於其父級。 嘗試:
[self.imageView setCenter:CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2)];
UIImageView *imageforFace=[[UIImageView alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width/2,[UIScreen mainScreen].bounds.size.height/2, 125,125)];
imageforFace.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
[imageforFace setCenter:CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height/2)];
imageforFace.image=[UIImage imageNamed:@"face.png"];
[self.view addSubview:imageforFace];
最后輸出是
嘗試使用此代碼來獲取UIVmage的UIImageView框架中心
1)在.h文件中
UIImageView *imgCenter;
2)在.m文件中
- (void)viewDidLoad
{
imgCenter=[[UIImageView alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width / 2, [UIScreen mainScreen].bounds.size.height / 2, 35, 35)];
[imgCenter setImage:[UIImage imageNamed:@"centerImage.png"]];
[self.view addSubview:imgCenter];
}
要么
- (void)viewDidLoad
{
imgCenter=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 35, 35)];
imgCenter.center = self.view.center;
[imgCenter setImage:[UIImage imageNamed:@"centerImage.png"]];
[self.view addSubview:imgCenter];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.