我试过
self.lblTimer = [[UILabel alloc] initWithFrame:CGRectMake(x,y,width,height)];
..但由于我正在寻找位置的标签位于屏幕的底部,因此当我切换设备时,它会不在视野范围内。我试图让标签从左边10像素,从底部10像素。无论是在iPhone 4,5,6还是6 +上观看,它都应该看起来一致。
答案 0 :(得分:1)
所以,你的问题是X和Y,对吧? iOS中的点从屏幕的左上角开始,因此屏幕的左上角是(0,0)。
如果沿左边缘向上/向下移动,X坐标将继续为0.因此,如果你想在左边缘的右边有10个点,那么X将是10。
屏幕底部可以这样计算:
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
在这里,变量screenHeight将是屏幕的底线。因此,如果你想要超过10分,你需要得到(screenHeight - 10)。
然而,正如Lyndsey Scott在下面的评论中提到的,这会将标签的左上角放在顶部的屏幕高度 - 10,这可能(非常可能是10)将标签放在视线之外。 要解决此问题,您还要减去标签的高度,以便在正确的位置看到标签。
所以你的答案是:
CGRectMake(10,(screenHeight - height - 10),width,height);