ios - 无论设备如何,以编程方式从屏幕底部对齐标签 - iOS

标签 ios alignment label device

我已经尝试过

self.lblTimer = [[UILabel alloc] initWithFrame:CGRectMake(x,y,width,height)]; 

..但是由于我要放置的标签位于屏幕底部,当我切换设备时它就会消失。我试图使标签距左侧 10 像素、距底部 10 像素。无论是在 iPhone 4、5、6 还是 6 plus 上查看,它看起来都应该一致。

最佳答案

所以,你的问题是关于 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);

关于ios - 无论设备如何,以编程方式从屏幕底部对齐标签 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27234518/

相关文章:

ios - 在 Xamarin.iOS 中使用 UITableViewCell 展开 Segue

ios - drawViewHierachyInRect 以错误的方向绘制 iPad

html - 使用 div 创建内容容器

c# - 我有一个由 6 个不同标签共享的上下文菜单,我如何知道哪个标签正在使用上下文菜单的当前实例?

css - 如何隐藏 <label for =""> CSS

ios - 如何在 ios 中获取水中地理点的附近城市或州名称?

ios - 添加到 ImageView 的 subview 不合适

asp.net-mvc - 两个内联文本框使用 bootstrap 与其他控件正确对齐

css - 文本未垂直居中

java - 如何获取 JavaFX 标签的宽度和高度?