我开始使用iOS开发,但我无法使用鼠标,因为我是盲人并且在Mac和iOS设备上使用Voiceover。在这种特殊情况下,我无法让某人为我设计UI,所以希望自己在视图上布置9个控件 - 没有任何复杂的,只有3行。
我不能在Interface Builder中自己这样做,因为它需要使用鼠标来创建连接,以及将控件从库拖到视图中。所以我在代码中创建了UI,这很有效。
但我现在希望列出控件:
是否有人可以使用任何提示或经验法则来在视图上排列这些控件。每个控件都使用类似于下面的语法进行初始化:
inputField = [[UITextField alloc] initWithFrame:CGRectMake(x, y, width, height)];
我花了好几个小时在脑子里做数学,并尝试用medioca结果得到一组合理的x / y /宽度/高度值。之前完成此任务的其他人的提示将不胜感激。
答案 0 :(得分:0)
我通常使用空白的IB视图获取精确的坐标,只是为了获得正确的#,然后将它们插入代码中。
答案 1 :(得分:0)
最终,在与各种人交谈并进一步研究之后,我想出了一个更好但仍然不是最理想的解决方案。我缺少的关键信息是UILabel对象上的SizeToFit消息。
现在,我首先创建所有标签,设置文本,然后使用SizeToFit自动计算宽度/高度。在按钮的情况下,我还创建标签并将标签设置为按钮的标题。
接下来,我以编程方式根据边距/填充的标签和值计算所有TextField的宽度:
如果其他人对此方法有所改进,我已将其设为社区维基。