不同视图控制器上的iOS共享命令视图

迪利普·英戈尔·帕蒂尔(Dilip Ingole Patil)

我已经在iOS中实现了滑动菜单代码,并希望为所有视图控制器共享该单一代码。是否有可能 ??如果是,那我该如何在我的项目中实现呢?有人可以帮我吗?

这是我在视图控制器中编写的代码,我想为所有视图控制器共享此代码。

(void)initslidingcode
{


    //selected button background

    _selectedbtnback=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Menu_selection.png"]];

    //end

    //sliding code

    slidestatus=0;
    _menu=[[UIView alloc]initWithFrame:CGRectMake(-190,60,190,450)];
    UIImageView *back=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Menu_Bg.png"]];
    back.frame=CGRectMake(0,-20,220,450);
    [_menu insertSubview:back atIndex:0];

    _menu.userInteractionEnabled=NO;
    [_leftmenu setTarget:self];
    [_leftmenu setAction:@selector(showmenu)];

    UIImageView *img=[[UIImageView alloc] initWithFrame:CGRectMake(45,7,80,80)];

    img.image=[UIImage imageNamed:@"profile.jpg"];
    img.layer.cornerRadius=img.frame.size.width/2;
    img.clipsToBounds=YES;
    img.layer.borderWidth = 1.0f;
    img.layer.borderColor = [UIColor greenColor].CGColor;
    [_menu addSubview:img];


    UILabel *username=[[UILabel alloc] initWithFrame:CGRectMake(0,88,175,18)];
    username.text=@"Dilip Ingole";
    username.textColor=[UIColor whiteColor];
    username.textAlignment=NSTextAlignmentCenter;
    [_menu addSubview:username];



     UIImageView *line=[[UIImageView alloc] initWithFrame:CGRectMake(0,105,180,15)];
    line.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line];



    _activitybtn=[[UIButton alloc] initWithFrame:CGRectMake(0,110,180,37)];
    _inboxbtn=[[UIButton alloc] initWithFrame:CGRectMake(0,150,180,37)];
    _nutritionchartbtn=[[UIButton alloc] initWithFrame:CGRectMake(0,190,180,37)];
    _trainingplanbtn=[[UIButton alloc] initWithFrame:CGRectMake(0,230,180,37)];
    _heartbeatbtn=[[UIButton alloc] initWithFrame:CGRectMake(0,270,180,37)];
    _friends=[[UIButton alloc] initWithFrame:CGRectMake(0,310,180,37)];
    _goalsbtn=[[UIButton alloc] initWithFrame:CGRectMake(0,350,180,37)];
    _goshopbtn=[[UIButton alloc] initWithFrame:CGRectMake(0,390,180,37)];



    [_activitybtn setTitle:@"Activity" forState:UIControlStateNormal];
    _activitybtn.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft;
    [_activitybtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_activitybtn addTarget:self action:@selector(openactivity) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"Activity_icon.png"];
    _activitybtn.titleEdgeInsets = UIEdgeInsetsMake(0, 50, 0,0);
    [_activitybtn addSubview:img];
    [_menu addSubview:_activitybtn];

    UIImageView *line1=[[UIImageView alloc] initWithFrame:CGRectMake(0,145,180,15)];
    line1.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line1];


    [_inboxbtn setTitle:@"Inbox" forState:UIControlStateNormal];
    [_inboxbtn.titleLabel setTextAlignment:NSTextAlignmentLeft];
    [_inboxbtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_inboxbtn addTarget:self action:@selector(openinbox) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"Msgbox_icon.png"];
    _inboxbtn.titleEdgeInsets = UIEdgeInsetsMake(0,0,0,30);
    [_inboxbtn addSubview:img];
    [_menu addSubview:_inboxbtn];

    UIImageView *line2=[[UIImageView alloc] initWithFrame:CGRectMake(0,183,180,15)];
    line2.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line2];



    [_nutritionchartbtn setTitle:@"Nutrition Chart" forState:UIControlStateNormal];
    [_nutritionchartbtn.titleLabel setTextAlignment:NSTextAlignmentLeft];
    [_nutritionchartbtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_nutritionchartbtn addTarget:self action:@selector(opennutritionchart) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"Nutrition_Icon.png"];
    _nutritionchartbtn.titleEdgeInsets = UIEdgeInsetsMake(0,45, 0,0);
    [_nutritionchartbtn addSubview:img];
    [_menu addSubview:_nutritionchartbtn];

    UIImageView *line3=[[UIImageView alloc] initWithFrame:CGRectMake(0,223,180,15)];
    line3.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line3];




    [_trainingplanbtn setTitle:@"Training Plan" forState:UIControlStateNormal];
    [_trainingplanbtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_trainingplanbtn addTarget:self action:@selector(opentrainingplan) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"Training_icon.png"];
    _trainingplanbtn.titleEdgeInsets = UIEdgeInsetsMake(0, 30, 0,0);
    [_trainingplanbtn addSubview:img];
    [_menu addSubview:_trainingplanbtn];

    UIImageView *line4=[[UIImageView alloc] initWithFrame:CGRectMake(0,263,180,15)];
    line4.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line4];



    [_heartbeatbtn setTitle:@"Heart Beat" forState:UIControlStateNormal];
    [_heartbeatbtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_heartbeatbtn addTarget:self action:@selector(openheartbeat) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"heart_icon.png"];
    _heartbeatbtn.titleEdgeInsets = UIEdgeInsetsMake(0,20, 0,0);
    [_heartbeatbtn addSubview:img];
    [_menu addSubview:_heartbeatbtn];

    UIImageView *line5=[[UIImageView alloc] initWithFrame:CGRectMake(0,303,180,15)];
    line5.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line5];



    [_friends setTitle:@"Friends" forState:UIControlStateNormal];
    [_friends setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_friends addTarget:self action:@selector(openfriends) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"Friends_icon.png"];
    _friends.titleEdgeInsets = UIEdgeInsetsMake(0,0, 0,5);
    [_friends addSubview:img];
    [_menu addSubview:_friends];

    UIImageView *line6=[[UIImageView alloc] initWithFrame:CGRectMake(0,343,180,15)];
    line6.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line6];



    [_goalsbtn setTitle:@"Goals" forState:UIControlStateNormal];
    [_goalsbtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_goalsbtn addTarget:self action:@selector(opengoals) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"Goals_icon.png"];
    _goalsbtn.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0,25);
    [_goalsbtn addSubview:img];
    [_menu addSubview:_goalsbtn];

    UIImageView *line7=[[UIImageView alloc] initWithFrame:CGRectMake(0,383,180,15)];
    line7.image=[UIImage imageNamed:@"menu_divided_line.png"];
    [_menu addSubview:line7];



    [_goshopbtn setTitle:@"Go Shop" forState:UIControlStateNormal];
    [_goshopbtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
    [_goshopbtn addTarget:self action:@selector(opengoshop) forControlEvents:UIControlEventTouchUpInside];
    img=[[UIImageView alloc] initWithFrame:CGRectMake(2, 1, 40, 40)];
    img.image=[UIImage imageNamed:@"Shoping Icon.png"];
    _goshopbtn.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0,0);
    [_goshopbtn addSubview:img];
    [_menu addSubview:_goshopbtn];


    //sliding


}
-(void)showmenu
{

    [_menu removeFromSuperview];
    _menu.userInteractionEnabled=YES;

    if (slidestatus==0)
    {

        slidestatus=1;
        [UIView animateWithDuration:0.5f animations:^{
            _menu.frame = CGRectMake(0,60,190,450);

        }];
    }
    else
    {
        slidestatus=0;
        [UIView animateWithDuration:0.5f animations:^{
            _menu.frame = CGRectMake(-190,60,190,450);
        }];
    }

    [self.view insertSubview:_menu atIndex:100];

}

-(void)openactivity
{

    //open activity controller

}

-(void)openinbox
{
    [_inboxbtn setImage:[UIImage imageNamed:@"Menu_selection.png"] forState:UIControlStateHighlighted];
        //open activity controller

}
-(void)opennutritionchart
{
    //open activity controller

}
-(void)opentrainingplan
{
    //open activity controller

}

-(void)openheartbeat
{
    //open activity controller

    NSLog(@"heart controller");

}
-(void)openfriends
{
    //open activity controller

}
-(void)opengoals
{
    //open activity controller

}
-(void)opengoshop
{
    //open activity controller

}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{

    slidestatus=0;
    [UIView animateWithDuration:0.5f animations:^{
        _menu.frame = CGRectMake(-190,60,190,450);

    }];

}
格兰33

这家伙在副菜单上做得很好。

也有集成说明。

MVYSideMenu

总之,要实现你的任务,考虑到从管理你的侧面菜单AppDelegate,并考虑到加侧菜单上的顶部appDelegate.window一样UITabBarController,例如。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不同的iOS视图之间共享控制器

来自分类Dev

iOS-不同视图控制器的不同屏幕方向

来自分类Dev

如何共享继承的控制器的视图

来自分类Dev

.NET MVC 4:如何设置在不同控制器的多个视图中共享的部分视图

来自分类Dev

如何在视图控制器中显示不同的视图以进行调试,而不是在iOS上发布(使用情节提要)

来自分类Dev

iOS:如何使静态或修复视图控制器上的背景

来自分类Dev

iOS:如何使静态或修复视图控制器上的背景

来自分类Dev

相同的视图控制器显示不同

来自分类Dev

不同的视图控制器转场

来自分类Dev

在不同的视图控制器/表视图控制器之间导航时,如何在UIView上保存UISwitches的状态?

来自分类Dev

使用UISeachController iOS 8时,建议不要在分离的视图控制器上显示视图控制器

来自分类Dev

iOS中的模型-视图-控制器

来自分类Dev

多个视图控制器-iOS 7

来自分类Dev

iOS无法关闭视图控制器

来自分类Dev

iOS推视图控制器崩溃

来自分类Dev

iOS中的模型-视图-控制器

来自分类Dev

在板上设置视图控制器

来自分类Dev

所有视图控制器上的iOS自定义视图

来自分类Dev

iOS视图控制器包含| 子视图控制器将触摸传递给父视图控制器

来自分类Dev

iOS容器视图。动态加载视图控制器

来自分类Dev

在iOS中将视图控制器添加为子视图

来自分类Dev

为每个视图iOS创建单独的视图控制器?

来自分类Dev

iOS容器视图。动态加载视图控制器

来自分类Dev

如何与许多视图控制器iOS共享一个阵列

来自分类Dev

如何与许多视图控制器iOS共享一个阵列

来自分类Dev

iOS在视图控制器之间共享数据时出现问题

来自分类Dev

不建议在分离的视图控制器上显示视图控制器-“分离的视图控制器”的定义吗?

来自分类Dev

如何知道哪些视图(或视图控制器)在堆栈上?

来自分类Dev

共享控制器上的部分视图上的操作未触发

Related 相关文章

  1. 1

    如何在不同的iOS视图之间共享控制器

  2. 2

    iOS-不同视图控制器的不同屏幕方向

  3. 3

    如何共享继承的控制器的视图

  4. 4

    .NET MVC 4:如何设置在不同控制器的多个视图中共享的部分视图

  5. 5

    如何在视图控制器中显示不同的视图以进行调试,而不是在iOS上发布(使用情节提要)

  6. 6

    iOS:如何使静态或修复视图控制器上的背景

  7. 7

    iOS:如何使静态或修复视图控制器上的背景

  8. 8

    相同的视图控制器显示不同

  9. 9

    不同的视图控制器转场

  10. 10

    在不同的视图控制器/表视图控制器之间导航时,如何在UIView上保存UISwitches的状态?

  11. 11

    使用UISeachController iOS 8时,建议不要在分离的视图控制器上显示视图控制器

  12. 12

    iOS中的模型-视图-控制器

  13. 13

    多个视图控制器-iOS 7

  14. 14

    iOS无法关闭视图控制器

  15. 15

    iOS推视图控制器崩溃

  16. 16

    iOS中的模型-视图-控制器

  17. 17

    在板上设置视图控制器

  18. 18

    所有视图控制器上的iOS自定义视图

  19. 19

    iOS视图控制器包含| 子视图控制器将触摸传递给父视图控制器

  20. 20

    iOS容器视图。动态加载视图控制器

  21. 21

    在iOS中将视图控制器添加为子视图

  22. 22

    为每个视图iOS创建单独的视图控制器?

  23. 23

    iOS容器视图。动态加载视图控制器

  24. 24

    如何与许多视图控制器iOS共享一个阵列

  25. 25

    如何与许多视图控制器iOS共享一个阵列

  26. 26

    iOS在视图控制器之间共享数据时出现问题

  27. 27

    不建议在分离的视图控制器上显示视图控制器-“分离的视图控制器”的定义吗?

  28. 28

    如何知道哪些视图(或视图控制器)在堆栈上?

  29. 29

    共享控制器上的部分视图上的操作未触发

热门标签

归档