SmartSegmentedControl
此控件是为了解决原始 UISegmentedControl 的问题而创建的。有关 Swift 版本,请参考 SmartSegmentedControlSwift。UISegmentedControl 在 apportionsSegmentWidthsByContent 设置(按内容比例调整段宽度)方面存在问题。通常,控件边界比实际段宽度更宽。请参阅下面的截图 - 我将黄色用作图层背景。
使用 SmartSegmentedControl,问题已解决,相同的分段控件将看起来像
此外,SmartSegmentedControl 还引入了“智能”模式,在这种情况下,如果有足够的空间,每个需要比平均宽度更宽的段都会获得足够的空间来显示内容(这通常比比例模式少)。如果足够的空间不足以显示所有内容 - 段宽度将 proportional (当然,是固定的 :) )。
注意。SmartSegmentedControl 设计和测试仅适用于具有标题的段,而不适用于图像。
用法
SmartSegmentedControl 提供了两个新属性来调整其行为
- @property (nonatomic, assign) IBInspectable BOOL smartAdjustment;
- @property (nonatomic, assign) IBInspectable BOOL fixNativeProportionalSizing;
如你所见,你可以在运行时更改它们,或者在 IB 中进行配置。
示例
要运行示例项目,首先克隆仓库,然后从Example目录运行pod install
。
需求
安装
SmartSegmentedControl可以通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中
pod "SmartSegmentedControl"
许可证
SmartSegmentedControl在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。