如何在 iOS 横向模式下更改按钮位置?

瓦姆西

在这里,我需要在横向模式下更改删除按钮的位置,并且需要在步进器旁边显示它的位置,任何人都可以帮助我如何实现这一点,这里是图像,在空白处我需要显示删除按钮

在此处输入图片说明

马蒂奇奥布拉克

假设您已经在处理方向并且正确接收事件,我认为最好创建双重约束并操纵它们的优先级。

在情节提要中,将按钮放在其中一个位置并添加所需的所有约束。将所有的优先级设置为 900(稍后会解释为什么不是 1000)并确认布局正常。

现在将这些约束优先级设置为 100 并开始为其他布局添加约束。将这些约束优先级设置为 900,并确认布局也适用于此场景。

此时,您需要将一组的优先级更改为 900,将其他设置为 100 以交换模式。所以现在开始编码......

您将需要这些约束的出口,拖拽所有这些约束、命名它们并添加然后更改每个约束的优先级会很痛苦。但幸运的是,您可以为此使用数组,因此在您的代码中添加以下内容:

@IBOutlet var portraitConstraints: [NSLayoutConstraint]?
@IBOutlet var landscapeConstraints: [NSLayoutConstraint]?

现在只需将所有约束拖到这 2 个数组中作为出口。

剩下的就很简单了。就像是:

func setMode(mode: LayoutMode, animated: Bool) {
    switch mode {
    case .portrait:
        portraitConstraints?.forEach { $0.priority = 900 }
        landscapeConstraints?.forEach { $0.priority = 100 }
    case .landscape:
        portraitConstraints?.forEach { $0.priority = 100 }
        landscapeConstraints?.forEach { $0.priority = 900 }
    }
    UIView.animate(withDuration: animated ? 0.3 : 0.0) { 
        self.view.layoutIfNeeded()
    }
}

关于不将约束优先级设置为 1000:

不允许更改优先级设置为 1000 的约束的优先级。不知道为什么,不在乎为什么。

编辑:这似乎不清楚所以让我给你举一个例子:

假设您有一个包含“Mobile”、“1”、“20.00KD”、“-/+”的视图,称为inputContainer,删除按钮称为deleteButton,左侧的图像视图称为imageView

现在,您将在纵向模式下将约束设置为:

  • inputContainer.top = superView.top + t
  • inputContainer.leading = imageView.trailing + a
  • deleteButton.leading = inputContainer.leading
  • deleteButton.top = inputContainer.bottom + b
  • deleteButton.bottom = superView.bottom - t

然后在风景中,您将拥有:

  • inputContainer.center.y = superView.center.y
  • inputContainer.leading = imageView.trailing + a
  • deleteButton.center.y = switchView.center.y
  • deleteButton.leading = inputContainer.trailing + b

现在在故事板中将其中一个设置为 900 的优先级,将其他设置为 100。然后将所有这些约束连接到代码中的适当数组中。这就对了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iOS8的横向模式下启用iMessages / FB Messenger中的键盘?

来自分类Dev

按钮未在iOS 8的横向模式下显示

来自分类Dev

如何在ios中更改按钮的形状?

来自分类Dev

如何设计仅在ipad的横向模式和iPhone的纵向模式下运行的iOS应用?

来自分类Dev

如何在横向模式下制作UI

来自分类Dev

如何在横向模式下禁用SwipeRefreshLayout

来自分类Dev

如何在横向模式下禁用SwipeRefreshLayout

来自分类Dev

在iOS中,如何获取屏幕的高度和宽度,包括在横向模式下宽度大于高度?

来自分类Dev

iOS 7+ iPhone在横向模式下如何显示所有项目的详细信息?

来自分类Dev

如何在iOS横向中隐藏TextView

来自分类Dev

iOS:mapkit如何在地图上启用当前位置按钮?

来自分类Dev

iOS:mapkit如何在地图上启用当前位置按钮?

来自分类Dev

如何在iOS中为暗模式更改设置动画?

来自分类Dev

低于7.0的iOS在横向模式下显示UIActionsheet上的按钮分组

来自分类Dev

如何在iOS应用中的任何位置更改根视图

来自分类Dev

如何在iOS 14中更改TabBar位置

来自分类Dev

如何在iOS应用中的任何位置更改根视图

来自分类Dev

如何在iOS的FBSDKLoginButton中更改默认登录按钮?

来自分类Dev

如何在iOS中更改UIAlertAction按钮的颜色?

来自分类Dev

如何在按钮上单击ios更改UICollectionView的数据?

来自分类Dev

如何在iOS中链接按钮以更改列表视图的数组?

来自分类Dev

如何在 iOS 中的 webview 中更改按钮的背景颜色

来自分类常见问题

如何在iOS 7下的UIPickerView中更改文本的颜色?

来自分类Dev

如何在iOS 7中更改UISearchBar

来自分类Dev

如何在iOS上更改年龄等级?

来自分类Dev

您如何在iOS中更改方向

来自分类Dev

如何在Windows Phone 8.1上更改媒体元素以在纵向和横向模式下以纵向和全屏缩放?

来自分类Dev

如何在iOS7中跨横向扩展UIToolbar?

来自分类Dev

如何在iOS7中横向扩展UIToolbar?

Related 相关文章

  1. 1

    如何在iOS8的横向模式下启用iMessages / FB Messenger中的键盘?

  2. 2

    按钮未在iOS 8的横向模式下显示

  3. 3

    如何在ios中更改按钮的形状?

  4. 4

    如何设计仅在ipad的横向模式和iPhone的纵向模式下运行的iOS应用?

  5. 5

    如何在横向模式下制作UI

  6. 6

    如何在横向模式下禁用SwipeRefreshLayout

  7. 7

    如何在横向模式下禁用SwipeRefreshLayout

  8. 8

    在iOS中,如何获取屏幕的高度和宽度,包括在横向模式下宽度大于高度?

  9. 9

    iOS 7+ iPhone在横向模式下如何显示所有项目的详细信息?

  10. 10

    如何在iOS横向中隐藏TextView

  11. 11

    iOS:mapkit如何在地图上启用当前位置按钮?

  12. 12

    iOS:mapkit如何在地图上启用当前位置按钮?

  13. 13

    如何在iOS中为暗模式更改设置动画?

  14. 14

    低于7.0的iOS在横向模式下显示UIActionsheet上的按钮分组

  15. 15

    如何在iOS应用中的任何位置更改根视图

  16. 16

    如何在iOS 14中更改TabBar位置

  17. 17

    如何在iOS应用中的任何位置更改根视图

  18. 18

    如何在iOS的FBSDKLoginButton中更改默认登录按钮?

  19. 19

    如何在iOS中更改UIAlertAction按钮的颜色?

  20. 20

    如何在按钮上单击ios更改UICollectionView的数据?

  21. 21

    如何在iOS中链接按钮以更改列表视图的数组?

  22. 22

    如何在 iOS 中的 webview 中更改按钮的背景颜色

  23. 23

    如何在iOS 7下的UIPickerView中更改文本的颜色?

  24. 24

    如何在iOS 7中更改UISearchBar

  25. 25

    如何在iOS上更改年龄等级?

  26. 26

    您如何在iOS中更改方向

  27. 27

    如何在Windows Phone 8.1上更改媒体元素以在纵向和横向模式下以纵向和全屏缩放?

  28. 28

    如何在iOS7中跨横向扩展UIToolbar?

  29. 29

    如何在iOS7中横向扩展UIToolbar?

热门标签

归档