SmartSegmentedControl 0.1.2

SmartSegmentedControl 0.1.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2020 年 7 月

Eugene Shevtsov 维护。




  • Eugene Shevtsov

SmartSegmentedControl

Version License Platform

此控件是为了解决原始 UISegmentedControl 的问题而创建的。有关 Swift 版本,请参考 SmartSegmentedControlSwift。UISegmentedControl 在 apportionsSegmentWidthsByContent 设置(按内容比例调整段宽度)方面存在问题。通常,控件边界比实际段宽度更宽。请参阅下面的截图 - 我将黄色用作图层背景。

UISegmentedControl

使用 SmartSegmentedControl,问题已解决,相同的分段控件将看起来像

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文件。