• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何为旋转的 UISlider 设置约束?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:36:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我似乎找不到关于 SO 的正确答案。我正在尝试旋转子类 UISlider 并应用约束以正确定位它,但似乎无法使其正常工作。在 XIB 中,它有限制,因此我没有任何错误显示问题。 (老板讨厌显示错误)。所以我先去掉约束。

我的代码如下所示:

    removeConstraints([sliderHeight, sliderWidth, sliderLeading, sliderBottom])

    let rotation = CATransform3DMakeRotation(-CGFloat(M_PI_2), 0.0, 0.0, 1.0)
    self.layer.transform = rotation

    let views = ["slider":slider, "deviceIcon":deviceIcon]
    var constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:[deviceIcon]-8-[slider]", options: .DirectionLeadingToTrailing, metrics: nil, views: views)
    constraints.append(NSLayoutConstraint(item: deviceIcon, attribute: .Bottom, relatedBy: .Equal, toItem: slider, attribute: .Bottom, multiplier: 1, constant: 0))
    constraints.append(NSLayoutConstraint(item: slider, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 30))
    constraints.append(NSLayoutConstraint(item: slider, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 115))

    addConstraints(constraints)

运行后,框架看起来像这样(灰色和橙色垂直虚线之间的白色区域是拇指):

Vertical Slider with constraints

它没有正确的宽度/高度,并且未与左侧的 deviceIcon 底部对齐。 (我认为它可能是与 deviceIcon 的适当距离,我不知道。)

我怎样才能正确地做到这一点?



Best Answer-推荐答案


所以答案是:不要。只需调整现有的前导和底部约束,使旋转的 slider 位于正确的位置。

关于ios - 如何为旋转的 UISlider 设置约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37306316/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap