Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在Xcode中构建幻灯片菜单_Iphone_Xcode_Ios5_User Interface - Fatal编程技术网

Iphone 如何在Xcode中构建幻灯片菜单

Iphone 如何在Xcode中构建幻灯片菜单,iphone,xcode,ios5,user-interface,Iphone,Xcode,Ios5,User Interface,我是Xcode开发新手,我想开发一个由iPhone应用程序中的UIToolbar触发的幻灯片菜单 我所看到的是创建一个带有菜单按钮的子视图,将其添加到主视图中,并在点击切换按钮时将其向上或向下隐藏 我该如何通过编程实现这一点?!iPhone上的Opera应用程序很好地做到了这一点,如图所示 您所说的可以通过代码来完成,方法是将子视图添加到主视图中,并上下滑动以使其可见和不可见 1向远y坐标添加子视图,使其最初在视图中不可见 subView = [[UIView alloc]initWithF

我是Xcode开发新手,我想开发一个由iPhone应用程序中的UIToolbar触发的幻灯片菜单

我所看到的是创建一个带有菜单按钮的子视图,将其添加到主视图中,并在点击切换按钮时将其向上或向下隐藏

我该如何通过编程实现这一点?!iPhone上的Opera应用程序很好地做到了这一点,如图所示


您所说的可以通过代码来完成,方法是将子视图添加到主视图中,并上下滑动以使其可见和不可见

1向远y坐标添加子视图,使其最初在视图中不可见

subView  =  [[UIView alloc]initWithFrame:CGRectMake(0,470,320,200)]]; // subView is an ivar
// Add stuffs to your subview
[self.view addSubview:subView];
2现在制作两个iBaction showMySubview和hideMySubview,并将它们链接到相应的按钮,或者您可以通过检查一个按钮的label.text来进行切换

3在showMySubview中

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1.5];
        [UIView setAnimationDelay:0.0];
        subView.frame = CGRectMake(0, 50, 320, 200);
        [UIView commitAnimations];
4在你的阴暗面上

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1.5];
        [UIView setAnimationDelay:0.0];
        editPopUpView.frame = CGRectMake(0, 470, 320, 200);
        [UIView commitAnimations];
您还可以对子视图进行一些美化,以使其看起来更漂亮。将QuartzCore框架添加到项目中,并将其导入到.m文件中,并在将子视图添加到主视图后添加这些行。导入为import QuartzCore/QuartzCore.h

希望这对您有所帮助:

编辑:

通过代码将按钮添加到子视图:

for (int i = 0; i < 3; i++) {

    for (int j = 0; j < 3; j++) {

        UIButton *btn   =   [UIButton buttonWithType:UIButtonTypeCustom];
        btn.frame       =   CGRectMake(j*60,200+ 35 * i ,50 , 30);
        //[btn setTitle:@"Test" forState:UIControlStateNormal];
        [btn setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
        [btn setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateHighlighted];
        btn.tag =   (j + 1) + (3 * i);
        [btn addTarget:self action:@selector(subViewButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
        btn.showsTouchWhenHighlighted   =   YES;
        [subView addSubview:btn]; // its the subview we added to our main view add this after initializing the subview

    }
}

可能有很多简单的方法,但希望这能让你有一个开始:

你所说的可以通过代码来完成,方法是在主视图中添加一个子视图,然后上下滑动使其可见和不可见

1向远y坐标添加子视图,使其最初在视图中不可见

subView  =  [[UIView alloc]initWithFrame:CGRectMake(0,470,320,200)]]; // subView is an ivar
// Add stuffs to your subview
[self.view addSubview:subView];
2现在制作两个iBaction showMySubview和hideMySubview,并将它们链接到相应的按钮,或者您可以通过检查一个按钮的label.text来进行切换

3在showMySubview中

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1.5];
        [UIView setAnimationDelay:0.0];
        subView.frame = CGRectMake(0, 50, 320, 200);
        [UIView commitAnimations];
4在你的阴暗面上

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1.5];
        [UIView setAnimationDelay:0.0];
        editPopUpView.frame = CGRectMake(0, 470, 320, 200);
        [UIView commitAnimations];
您还可以对子视图进行一些美化,以使其看起来更漂亮。将QuartzCore框架添加到项目中,并将其导入到.m文件中,并在将子视图添加到主视图后添加这些行。导入为import QuartzCore/QuartzCore.h

希望这对您有所帮助:

编辑:

通过代码将按钮添加到子视图:

for (int i = 0; i < 3; i++) {

    for (int j = 0; j < 3; j++) {

        UIButton *btn   =   [UIButton buttonWithType:UIButtonTypeCustom];
        btn.frame       =   CGRectMake(j*60,200+ 35 * i ,50 , 30);
        //[btn setTitle:@"Test" forState:UIControlStateNormal];
        [btn setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
        [btn setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateHighlighted];
        btn.tag =   (j + 1) + (3 * i);
        [btn addTarget:self action:@selector(subViewButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
        btn.showsTouchWhenHighlighted   =   YES;
        [subView addSubview:btn]; // its the subview we added to our main view add this after initializing the subview

    }
}

可能有很多简单的方法,但希望这能让你有一个开始:

你好,纳文,非常感谢!这有助于完成我任务的前半部分!我现在想在菜单视图中实现网格状的布局,就像在我的附件中一样。我可以将UICollectionView与UICollectionViewCells一起使用吗?我尝试过,但初始化视图及其单元格时遇到问题。@VinodVishwanath最简单的方法是以这种方式添加自定义按钮,并为其提供背景图像将按钮以编程方式添加到子视图。@VinodVishwanath根据您随附的图像编辑了我的答案,非常感谢!我让它的大部分工作,但按钮不呈现在屏幕上。我甚至试着给按钮一个背景色和边框,但它们就是不可见!在初始化子视图对象之后,我放置for循环来创建按钮。还是不行。嗨,纳文,非常感谢!这有助于完成我任务的前半部分!我现在想在菜单视图中实现网格状的布局,就像在我的附件中一样。我可以将UICollectionView与UICollectionViewCells一起使用吗?我尝试过,但初始化视图及其单元格时遇到问题。@VinodVishwanath最简单的方法是以这种方式添加自定义按钮,并为其提供背景图像将按钮以编程方式添加到子视图。@VinodVishwanath根据您随附的图像编辑了我的答案,非常感谢!我让它的大部分工作,但按钮不呈现在屏幕上。我甚至试着给按钮一个背景色和边框,但它们就是不可见!在初始化子视图对象之后,我放置for循环来创建按钮。还是不行。