首页 > 代码库 > iOS_21团购_顶部菜单和弹出菜单联动
iOS_21团购_顶部菜单和弹出菜单联动
最终效果图:
各控件关系图1:
\
各控件关系图2:
点击Dock上面的按钮DockItem,
创建经导航控制器包装的DealListController,
并且添加到主控制器的右侧空间
// // DealListController.m // 帅哥_团购 // // Created by beyond on 14-8-14. // Copyright (c) 2014年 com.beyond. All rights reserved. // 点击dock上面的【团购】按钮对应的控制器,上面是导航栏,导航栏右边是searchBar,导航栏左边是一个大按钮(TopMenu)(内部由三个小按钮组成<TopMenuItem>) #import "DealListController.h" // 导航栏左边是一个大按钮(顶部菜单) #import "TopMenu.h" @interface DealListController () @end @implementation DealListController - (void)viewDidLoad { [super viewDidLoad]; // 1,设置上方的导航栏,右边是搜索bar,左边是一个大的VIEW(内有三个按钮),即TopMenu,内部的按钮是TopMenuItem [self addNaviBarBtn]; } // 1,设置上方的导航栏,右边是搜索bar,左边是一个大的VIEW(内有三个按钮),<span style="font-family: Arial, Helvetica, sans-serif;">即TopMenu,内部的按钮是TopMenuItem</span> - (void)addNaviBarBtn { // 1.右边的搜索框 UISearchBar *s = [[UISearchBar alloc] init]; s.frame = CGRectMake(0, 0, 210, 35); s.placeholder = @"请输入商品名、地址等"; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:s]; // 2.左边的菜单栏,导航栏左边是一个大按钮(顶部菜单) TopMenu *topMenu = [[TopMenu alloc] init]; // 3.用于点击顶部按钮时,容纳创建出来的底部弹出菜单(包括一个contentView和cover,contentView又包括scrollView和subTitleImgView),本成员是由创建此TopMenu的外部赋值传入, 这里是控制器的view,就是导航栏下面的所有区域 // 重要~~~~~~~~~~ topMenu.controllerView = self.view; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:topMenu]; } @end
TopMenu
// // TopMenu.h // 帅哥_团购 // // Created by beyond on 14-8-15. // Copyright (c) 2014年 com.beyond. All rights reserved. // 点击dock上面的【团购】按钮时,创建出对应的经导航包装后的子控制器,子控制器的上面是导航栏,导航栏右边是searchBar,导航栏左边是一个大按钮(TopMenu)(内部只由三个小按钮组成<TopMenuItem>它们分别是:全部频道,全部商区,默认排序),点击TopMenu中的某一个按钮<TopMenuItem>,会在其下方,弹出一个PopMenu,PopMenu包括二个部分(上面是一个contentView:包括:scrollView和subTitleImgView,下:蒙板) #import <UIKit/UIKit.h> @interface TopMenu : UIView // 用于点击顶部菜单项时,容纳创建出来的底部弹出菜单(包括一个contentView和cover,contentView又包括scrollView和subTitleImgView),本成员是由创建此TopMenu的控制器赋值传入, 本成员属性是用来接收控制器的view,就是导航栏下面的所有区域,目的是用于添加并展示PopMenu @property (nonatomic, weak) UIView *controllerView; @end
to be continue...
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。