ASJOverflowButton 1.6

ASJOverflowButton 1.6

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布时间最新发布2022年1月

Sudeep维护。



  • Sudeep

ASJOverflowButton

在同时开发iOS和Android项目时可能会有一些有趣的挑战,特别是关于两个应用程序的外观和感觉。两个平台都有一些标准的控件,在另一个平台上不可用。例如:溢出菜单。这个库是UIBarButtonItem的子类,您可以将它放在导航栏上,并在点击时显示溢出菜单。

安装

CocoaPods是安装此库的首选方式。将以下命令添加到您的Podfile

pod 'ASJOverflowButton'

使用方法

使用指定的初始化器创建按钮,如下所示

ASJOverflowButton *overflowButton = [[ASJOverflowButton alloc] initWithTarget:aController title:@"An optional title" image:anOptionalImage button:anOptionalButton items:_overflowItems];
self.navigationItem.rightBarButtonItem = overflowButton;

项目必须为ASJOverflowItem类型。提供了构造方法来生成它们。只需要在初始化期间附加一个此类数组的实例。

ASJOverflowItem *item = [ASJOverflowItem itemWithName:itemName image:image backgroundColor:color];

有几个属性可以自定义溢出菜单的外观和感觉。

@property (nullable, strong, nonatomic) UIColor *menuBackgroundColor;

设置溢出菜单的背景颜色。默认为白色。

@property (nullable, strong, nonatomic) UIColor *itemTextColor;

设置菜单项的文本颜色。默认为黑色。

@property (nullable, strong, nonatomic) UIColor *itemHighlightedColor;

设置当按下的菜单项的背景颜色。默认为RGB(217, 217, 217)。

@property (nullable, strong, nonatomic) UIColor *borderColor;

设置菜单边框的颜色。默认为灰色。

@property (assign, nonatomic) CGFloat borderWidth;

设置菜单边框的宽度。默认为0。

@property (nullable, strong, nonatomic) UIFont *itemFont;

设置菜单项的字体。默认为系统字体,大小为17点。

@property (assign, nonatomic) BOOL hidesSeparator;

隐藏两个菜单项之间的分隔符。要使separatorInsets属性生效,需要设置NO。默认为YES

@property (assign, nonatomic) BOOL hidesShadow;

隐藏菜单周围的阴影。默认为NO

@property (assign, nonatomic) BOOL dimsBackground;

菜单显示时变暗背景。默认为NO

@property (assign, nonatomic) CGFloat dimmingLevel;

设置菜单显示时背景变暗的程度。只有当shouldDimBackground 设置为YES时才生效。范围从0.0到1.0。默认为0.6。

@property (assign, nonatomic) CGFloat menuItemHeight;

设置单个溢出菜单项的高度。默认为40点。

@property (assign, nonatomic) CGFloat widthMultiplier;

设置菜单宽度与屏幕宽度的比率。可接受的范围是0.0到1.0。例如,如果您的屏幕宽度是320.0点,而'widthMultiplier'设置为0.5,则菜单宽度将是0.5 * 320.0 = 160点。默认为0.4。

@property (assign, nonatomic) SeparatorInsets separatorInsets;

设置两个菜单项之间的分隔符的左右内边距。只有当hidesSeparator设置为'NO'时才生效。默认为(15.0f, 0.0f)。

@property (assign, nonatomic) MenuMargins menuMargins;

设置菜单与屏幕顶部、右部和底部边缘的间距。菜单总是出现在状态条下方。默认为5点。

@property (assign, nonatomic) MenuAnimationType menuAnimationType;

设置菜单显示的方式。有两种选项,淡入或从右上角缩放进入。默认为MenuAnimationTypeZoomIn

alt tag alt tag

限制

只能显示在屏幕右上角的溢出菜单。然而,从1.2版本开始,您可以调整menuMargins属性以更改菜单位置。

待办事项

  • 菜单在被点击屏幕外部时突然关闭
  • 应该在外部点击清除表格视图时关闭菜单
  • 允许创建带有标题的菜单
  • 有一种方法可以调整菜单的宽度
  • 也许有一种方法可以在左侧和右侧都显示菜单
  • 底部渐变提示滚动

致谢

授权

ASJOverflowButton在MIT授权下提供。更多信息请参阅LICENSE文件。