2015-04-01 51 views
0

說一個固定的比例位置一個UIView,我有一個UIImageView或任何物體和我一起CGRectMake這樣的設置在UIView爲子視圖:坐落在距離屏幕的iOS的右邊緣

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 30)]; 

UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(266, 0, 30, 30)]; 
    [imgView setImage:[UIImage imageNamed:[self.imageDicKey objectAtIndex:section]]]; 
    [headerView addSubview:imgView]; 

這裏我設置我的imgView的位置,如CGRectMake(266, 0, 30, 30)];,它計算它的位置,從左邊的x position(即266)。如果我想從屏幕右側設置我的imgView的位置?因此,在不同寬度的iPhone屏幕上,它顯示在一個相同的比例位置。但是,這將被視爲是從右邊緣開始的位置。 非常感謝先進。

回答

2

我建議不硬編碼的確切位置,而是計算x和y。這樣它將有助於不同大小的屏幕,因此它不是一個確切的位置,而是基於視圖的大小。

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 30)]; 

CGFloat padding = 20; // amount for padding 
CGSize size = CGSizeMake(30, 30); // size of imageView 
CGPoint startPos = CGPointMake(headerView.frame.size.width - padding - size.width, 0); // starting position for imageView 

UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(startPos.x, startPos.y, size.width, size.height)]; [imgView setImage:[UIImage imageNamed:[self.imageDicKey objectAtIndex:section]]]; [headerView addSubview:imgView]; 
+0

感謝您的評論。這就是我所問的。 :D 完美的工作(y)....祝你有美好的一天。 :) – Tulon 2015-04-01 12:56:07

+0

很高興幫助,祝你好運! – 2015-04-01 12:56:54

0

好吧,既然ImageView的的寬度爲30,x座標是從左側266,它使從x右側座標296