QBKOverlayMenuView 0.0.1

QBKOverlayMenuView 0.0.1

测试已测试
语言语言 Obj-CObjective C
许可 自定义
发布上次发布2014年12月

未指定 维护。



它基本上是一个 UIView 对象,试图模仿 http://sparrowmailapp.com/iphone.php 中使用的浮动控件的行为。控件出现在屏幕的右下角,并在触摸时展开菜单。

请记住,我曾把这个控件作为一个简单的练习编写的,因此选项不是非常可定制,代码也不打算作为 最终版本。

Here you have the control working without the animation :-)

它目前是为 *肖像* 方向设计的,可以放置在屏幕的底部或顶部。您可以添加一个 偏移 来避免与 UITabBarUINavigationBar 或其他类似的控件重叠。

要使其工作,您只需要将 文件包含在您打算使用此控件的地方,并以此方式创建其实例——通常,从一个 视图控制器 中创建。

QBKOverlayMenuView *qbkOverlayMenu = [[QBKOverlayMenuView alloc] initWithDelegate:self position:kQBKOverlayMenuViewPositionBottom];
[qbkOverlayMenu setParentView:[self view]];

[qbkOverlayMenu addButtonWithImage:[UIImage imageNamed:@"boton1.png"] index:0];
[qbkOverlayMenu addButtonWithImage:[UIImage imageNamed:@"boton2.png"] index:1];
[qbkOverlayMenu addButtonWithImage:[UIImage imageNamed:@"boton3.png"] index:2];
[qbkOverlayMenu addButtonWithImage:[UIImage imageNamed:@"boton4.png"] index:3];

setParentView: 方法表示 QBKOverlayMenuView 将放置的视图——通常,视图控制器的主视图。

定位

有两种常量可用于表示控件的定位

  • kQBKOverlayMenuViewPositionBottom:控制将定位在屏幕的右下角。
  • kQBKOverlayMenuViewPositionTop:控制将定位在屏幕的右上角。

偏移量

如果您需要控件在容器的边界之外出现——通常是为了不与某种 UITabBarUINavigationBar…重叠——可以这样做

QBKOverlayMenuViewOffset offset;
offset.bottomOffset = 44;
offset.topOffset = 44;

QBKOverlayMenuView *qbkOverlayMenu = [[QBKOverlayMenuView alloc] initWithDelegate:self position:kQBKOverlayMenuViewPositionBottom offset:offset];

添加按钮

您只需使用 addButtonWithImage:index: 方法。然后,当按钮被触摸时,将带有被触摸按钮的 index 的消息 overlayMenuView:didActivateAdditionalButtonWithIndex: 发送到在 init 方法中指定的代理。

- (void)overlayMenuView:(QBKOverlayMenuView *)overlayMenuView didActivateAdditionalButtonWithIndex:(NSInteger)index
{
    NSLog(@"Button touched with index: %d", index);
}

图形

我已经附加了我创建的尝试模仿 Sparrow 中使用的那些图形。我只为提供的整个集合而不是 Sparrow 提供的整个集合创建了一个额外的图标。