如何降低 UISlider 框架高度?

Posted

技术标签:

【中文标题】如何降低 UISlider 框架高度?【英文标题】:How to reduce UISlider frame height? 【发布时间】:2014-01-09 10:35:02 【问题描述】:

原来UISlider 的框架高度有一个下限。 ios 6 是 23 像素,iOS 7 是 34 像素。但这对我来说太多了,我需要让它更小。如果不使用CGAffineTransformMakeScale,我怎么能做到这一点(我已经尝试过了,但不喜欢它的外观)?或者也许我只是错过了一些非常简单的东西?

【问题讨论】:

使用自动布局 Pin 高度给 UISlider 取 IBOutlet 的高度,然后设置常量为 23;我不确定这是否正确。 我不使用 IB,所以请您删除几行代码吗? 考虑到你正在使用 xib/storyboard 来做这件事。选择 UISlider 转到 -> Editor -> Pin -> “Height”。现在采取 IBOutlet @property (strong, nonatomic) IBOutlet NSLayoutConstraint *sliderHeight;设置在.m self.sliderHeight.constant = 23; 只需通过设置最小和最大轨道图像来自定义您的UISlider,并设置想要的图像高度。 【参考方案1】:

没有可用于执行此操作的属性。 我确实找到了一个github project,它允许您设置栏的高度。

或者查看 Cocoa Controls 上的 results 'Slider'。

【讨论】:

【参考方案2】:

为情节提要中的滑块分配高度约束。

【讨论】:

【参考方案3】:

您必须使用较小尺寸的图像:

   [slider setThumbImage:[UIImage imageNamed:@"Thumb"] forState:UIControlStateNormal];   // slider thumb should be square image
        [slider setThumbImage:[UIImage imageNamed:@"Thumb"] forState:UIControlStateHighlighted]; // slider thumb on touch
        [slider setMinimumTrackImage:[UIImage imageNamed:@"rMin"] forState:UIControlStateNormal];     // thumb left part
        [slider setMaximumTrackImage:[UIImage imageNamed:@"Max"] forState:UIControlStateNormal];   // thumb right part

仔细选择图像,现在它的 Photoshop 工作

【讨论】:

以上是关于如何降低 UISlider 框架高度?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法使用 UISlider 降低亮度?

UISlider 在水平 UIStackView 中的高度

快速更改 UISlider 的高度

UISlider 自定义图像和拇指高度?

自定义 UISlider(跟踪图像高度)

UISlider thumbImage 无法退出 uislider 框架