如何在 iOS 中创建在每部 iPhone 中正确显示的按钮列表

Posted

技术标签:

【中文标题】如何在 iOS 中创建在每部 iPhone 中正确显示的按钮列表【英文标题】:how to create a list of buttons in iOS which shows correctly in every iPhones 【发布时间】:2017-10-10 10:55:06 【问题描述】:

我对 swift 完全陌生, 我想创建一个按钮列表,我需要连续三个按钮 它在大屏幕 iPhone 中运行良好,但在较小的 iPhone 中看起来像下图,(其中一个按钮的一半将被隐藏) 每个按钮的高度:100 和宽度 100

我尝试使用自动调整大小,但没有发生任何变化。我也像这样更改了我的viewDidLoad,但结果仍然和以前一样。

class ViewController: UIViewController 



@IBOutlet weak var button: UIButton!
@IBOutlet weak var btn1: UIButton!
@IBOutlet weak var btn2: UIButton!


override func viewDidLoad() 
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    button.imageView?.contentMode = .scaleAspectFit
    btn1.imageView?.contentMode = .scaleAspectFit
    btn2.imageView?.contentMode = .scaleAspectFit


override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
  
 

感谢任何帮助,。

【问题讨论】:

使用自动布局。将按钮放在水平堆栈视图中,然后将堆栈视图限制为父视图的宽度(可能是视图控制器的主视图)。 我同意所有其他 cmets 但这个问题与您的几乎相同,并且可能会为您提供解决方案***.com/questions/41310445/… 看看这个***.com/questions/32862142/…我希望它有帮助....如果您仍然感到困惑,我可以用更详细的方式解释它...让我知道 您最初需要在最小设备中设置框架,它在自动调整大小的概念中也完美适用于最大设备尺寸 @PulkitKumarSingh 非常感谢。这真的很有帮助,但正如你所说,我非常困惑,而且我是 xCode 的新手,它有点快,我不知道灰框到底是什么。如果可能的话,给我一些分步指南。我不知道该怎么感谢你。非常感谢 【参考方案1】:

以下是使用堆栈视图和代码的步骤

您的代码应如下所示 -

@IBOutlet weak var stackViewNew: UIStackView!

override func viewDidLoad() 
super.viewDidLoad()

stackViewNew.distribution = .equalSpacing

var value : CGFloat!

value = (((self.view.frame.size.width) - 300.0)/2)-10  // Adjust Spacing according to screen size
if(value == 0)

    value = 5             //If spacing comes to be zero then minimum spacing set

stackViewNew.spacing = value


如有其他疑问,请在下方评论。

希望对你有帮助。

【讨论】:

现在有一个更简单的解决方案,很快就会更新。使用乘数约束,使用相等的宽度并设置图像纵横比。【参考方案2】:

看看像here这样的自动布局和约束。

【讨论】:

非常感谢我正在阅读它,但由于我是全新的,有点困惑,但非常感谢你,我会告诉你结果【参考方案3】:

您可以使用自动布局来处理它,只需为这些按钮本身添加比例约束,然后为每个按钮与其他按钮添加等宽约束,以及所有按钮的前导和尾随约束

【讨论】:

非常感谢,我是全新的,有点迷茫,需要一步一步了解。但感谢您的帮助。谢谢 我该如何使用自动布局?

以上是关于如何在 iOS 中创建在每部 iPhone 中正确显示的按钮列表的主要内容,如果未能解决你的问题,请参考以下文章

我如何让每部电影出现在各自的日期

如何在 iPhone 屏幕中正确对齐显示控制器?

r 一个简单的R脚本,用于在Win / Open BUGS中创建在OpenBUGS中运行的邻接数据

如何锚定相对于屏幕 iPhone 一侧的视图

如何在 iOS 中创建服务?

如何在ios中创建三角形对象