【问题标题】:Resizable UIButton with/without image above title?可调整大小的 UIButton 有/没有标题上方的图像?
【发布时间】:2016-03-06 16:40:57
【问题描述】:

我一直在尝试创建一个按钮,该按钮基本上适用于 4.7 英寸屏幕设备,并且按钮上方将显示标题上的嵌入图像。对于较小的屏幕(4 英寸及以下),按钮应该只是文本,没有图片。我尝试使用 Insets 将图像和标题定位在需要的位置,但问题是当您从 4.7" 英寸变为 5.5" 或 4" 时,结果不正常。

例如,如果我想要这个按钮:

在 4.7" 及以上设备上,以及在 4" 及以下设备上:

你们是怎么做到的?请注意,鉴于项目未启用自动布局,我没有使用自动布局和大小类....我的项目也在 Swift 2 Xcode 7 中

【问题讨论】:

  • 你可以通过 UIScreen.mainScreen().bound.height 来判断你在哪个设备上。
  • @YunusErenGüzel 所以你建议根据设备的大小使用两个或三个不同的按钮并通过视图控制器控制可见性?这是通常的做法吗?我想我在这里寻找标准做法。
  • 不,我建议根据设备从按钮中添加或删除图像。如果您弄清楚您在哪个设备上,那么您可以做的基本上是设置图像或从按钮中删除图像

标签: ios swift swift2


【解决方案1】:

您可以检查视图的边界并根据屏幕大小创建不同的按钮。

func createButton() -> UIButton { 
  let button = UIButton()
  let minimumHeight:CGFloat = 667.0  //iPhone6
  let currentView = self.view.frame.height
  if currentView < minimumHeight {
    //create small button
  } else {
    //create large button
  }
  return button
}

【讨论】:

    猜你喜欢
    • 2018-03-16
    • 2015-03-05
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多