- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我现在花了很多时间弄清楚 - 自动布局以及如何使用它,但还没有找到如何解决这个问题的答案。
我的问题是我想对齐,例如5 个垂直放置的 UIButtons 均匀地分布在 iPhone 5 和之前的显示器上,但是有没有一种方法可以使用 Interface Builder 来完成,或者应该在代码中完成。当我希望按钮之间的垂直距离相对于屏幕分辨率(3.5 英寸和 4 英寸显示屏)均匀时。
我曾尝试在按钮之间添加垂直约束,但如果选择 4"显示,这只会在布局的顶部或底部添加一个间隙。
我当然遗漏了一些简单的东西,但无法弄清楚。
最佳答案
我让它工作的唯一方法是在边缘和按钮之间放置标签(没有标题,所以它们是不可见的),这样按钮和标签就占据了所有垂直空间屏幕。按钮具有固有尺寸,但标签没有,因此它们会扩展或收缩以正确填充空间。
-(void)viewDidLoad {
[super viewDidLoad];
NSMutableDictionary *viewsDict = [NSMutableDictionary dictionary];
NSArray *titles = @[@"Button 1",@"Button 2",@"Button 3",@"Button 4",@"Button 5"];
for (int i=1; i<6; i++) {
UIButton *b = [UIButton buttonWithType:1];
[b setTitle:titles[i-1] forState:UIControlStateNormal];
[b setTranslatesAutoresizingMaskIntoConstraints:NO];
[viewsDict setObject:b forKey:[NSString stringWithFormat:@"b%d",i]];
}
for (int i=1; i<7; i++) { // labels for spacing
UILabel *l = [[UILabel alloc ]init];
[l setTranslatesAutoresizingMaskIntoConstraints:NO];
[viewsDict setObject:l forKey:[NSString stringWithFormat:@"l%d",i]];
}
for (id obj in viewsDict.allKeys)
[self.view addSubview:viewsDict[obj]];
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[l1][b1][l2(==l1)][b2][l3(==l1)][b3][l4(==l1)][b4][l5(==l1)][b5][l6(==l1)]|"
options:NSLayoutFormatAlignAllLeading
metrics:nil
views:viewsDict];
NSArray *constraints2 = [NSLayoutConstraint constraintsWithVisualFormat:@"|-100-[b1]"
options:NSLayoutFormatAlignAllLeading
metrics:nil
views:viewsDict];
[self.view addConstraints:constraints];
[self.view addConstraints:constraints2];
}
这会将所有按钮与左边缘对齐 100 点,按钮之间的间距相等。这将根据屏幕尺寸和旋转进行调整。
关于ios - 在 3.5” 和 4” 显示器上均匀排列 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15054823/
我的问题很简单,我相信我只是遗漏了一些小东西,但我不知道它是什么。 我知道如何使用 GraphicsEnvironment、GraphicsConfiguration 和 GraphicsDevice
我目前正在使用一台机器,它的两侧有 2 个显示器。它有一个类似操纵杆的 4 个按钮,用于控制中央机械手的运动。它们都显示相同的屏幕,即显示 1 在第二个屏幕上重复显示。它们都是触摸屏。我希望它们根据用
虽然容器应该具有连接到显示器所需的权限,但我每次都收到此错误: docker exec -it my_container /# rqt QStandardPaths: XDG_RUNTIME_DIR
有没有办法通过 OS X 中的终端获取有关连接的显示器和显示器及其分辨率的信息? 我有一些安装在多台显示器上运行,有时如果没有连接显示器,GFLW 窗口似乎无法打开 - 我想检查显示器是否正确连接,并
本质上,我要完成的是让一个矩形显示器侧向(垂直方向),Android 显示屏处于纵向位置。由于显示器的限制,在显示器本身上旋转显示是不可行的。首先我设置禁用自动旋转,然后将其设置为纵向模式。 adb
我一直在思考一个我想开发的项目的可行性,我不知道是否可行。我想要的是一台标准的 Linux 计算机,当另一台机器通过 USB 插入它时,让它像 USB 显示器一样工作; IE。如果我用标准 USB 线
在 Windows 中,我们有关于我们的 Monitros 的信息——一些唯一的名称和 ID。例如 宏碁 xxx 三星xxx 我对如何在 C# 中获取信息有疑问,因为我知道我们可以从 WMI 获取序列
如何检测笔记本电脑/上网本中插入的显示器并在检测到后启用克隆显示 View ? 非常感谢 最佳答案 您可以使用 EnumDisplaySettingsEx() 这是类似的问题:How do I ena
我有一个使用 AWT 的 Java 程序,我想在 headless 系统上运行它。该程序的显示除了显示统计信息外什么都不做。当程序完成时,它退出。显示屏上没有用户交互。该程序创建了一个我在构建系统中使
我发现了很多关于 Retina Display 的问题,但没有一个答案在服务器端。 我想根据屏幕提供不同的图像,例如(在 PHP 中): if( $is_retina) $thumbnail
我在一个容器中显示多个 DIV,我希望它们在右侧没有更多空间时换行。它在 IOS 上运行良好,但我无法使其在 Android 上运行... -webkit-flex-wrap: wrap; -moz-
我在本地计算机上运行 matlab,并从 Java 调用以下函数(在 tomcat Web 服务器中运行): function df = getFig(file) f = openfig(fi
我想开发一个使用两个屏幕来显示信息的 Android 应用程序。例如:一个屏幕显示应用程序,另一个屏幕显示有关当前应用程序状态的一些信息。 我的问题:android 是否支持两个显示器/屏幕?您将如何
我想编写一个 Python 程序,自动查找和识别连接到我的计算机 (Windows) 的多个显示设备。此外,我还想以编程方式在其中一个设备中启动显示 session (例如幻灯片放映)。知道如何做到这
所以我的 Vista 机器设置为在 10 分钟后关闭显示器。 (注意:机器没有挂起或休眠) 我有一个 .Net 应用程序正在运行,它需要在指定时间“唤醒”系统。作为人类,您只需移动鼠标或按下一个键。我
如何校准 Mac 显示器以匹配 iPhone 的颜色? iPhone 的 Gamma 值是多少? 谢谢。 最佳答案 根据this article ,gamma 为 1.8,这就是 Mac OSX Le
有没有办法用 cocoa 禁用屏幕保护程序和显示器 sleep ? 最佳答案 OSX 10.8 中已弃用 UpdateSystemActivity(OverallAct) 的使用。 现在推荐的方法是通
我正在尝试将 wkhtmltopdf 与 Django、nginx、uwsgi 一起使用 它在使用 manage.py runserver 运行的开发环境中完美运行 但是当与 nginx ans uw
我正在使用 xmonad(具有最小配置,main = xmonad gnomeConfig{ modMask = mod4Mask,terminal = "gnome-terminal"}),我的计算
直接写入帧缓冲区不再有效。无论如何要写入 NDK 中的显示器?我可能会使用 ANativeWindow 但这需要一个现有的表面。有没有更好的办法?或者是在本地创建表面然后使用 ANativeWindo
我是一名优秀的程序员,十分优秀!