gpt4 book ai didi

iphone - 如何制作简单的菜单?

转载 作者:行者123 更新时间:2023-11-29 04:17:15 32 4
gpt4 key购买 nike

我正在尝试在我的应用程序中创建简单的(类似 facebook 的)菜单。我发现了几个问题,其中大多数都已接受答案,但通常答案是使用开发人员完成的一些程序。

这些程序通常使用旧版本的 xCode(其中一个没有使用 Storyboard),而那些在 Storyboard中完成的程序对我来说太复杂,无法在我的应用程序中实现。

所以我发现了一个问题,其答案如下:1.创建菜单 View Controller (对我来说是UITableViewController)2. 在初始 View Controller 中隐藏此 Controller :

MenuViewController *menView = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];

[self.view sendSubviewToBack:menView.view];

3 创建一个按钮(稍后可能是平移手势),在它的方法中,执行如下操作:

-(IBAction)menuButtonPressed:(id)sender
{
CGRect destination = self.navigationController.view.frame;

if (destination.origin.x > 0) {
destination.origin.x = 0;
} else {
destination.origin.x +=254.5;
}

[UIView animateWithDuration:0.25 animations:^{
self.navigationController.view.frame = destination;
} completion:^(BOOL finished)
{
self.view.userInteractionEnabled = !(destination.origin.x > 0);
}];


}

我猜这是做什么的,它基本上将你的 View 向右移动固定长度。我想,您的 sendedToBack (您的 UITableView)的 View 应该公开并且可交互。然而,它对我所做的只是将顶 View 向右移动,并留下空白的黑色屏幕。

现在我认为,我的问题要么是 menuView 的实例化错误,要么只是我对本指南的理解错误。

如果有人知道如何处理这个问题,我将非常感谢您的回答。也许有一些已经完成的应用程序,就像这样很容易理解,并且希望在我的代码中更容易实现:)

谢谢!

最佳答案

我会使用 Storyboard 中的容器 View 来完成此操作。您可以按照自己喜欢的方式调整左侧的大小,然后在其旁边添加右侧的一个,然后在检查器中将其宽度更改为 320 - 大部分内容都会从屏幕右侧消失,并且会将其嵌入式 Controller 的大小调整为是全屏尺寸。您可以删除左侧容器 View 中获得的 View Controller ,然后拖出一个表格 View Controller ,并使用嵌入转场从左侧 View 连接它(当您从容器 View 控制拖动时,这将是唯一的选择) 。我在主 Controller 的 View 中添加了两个滑动手势识别器(一左一右),并将它们连接到主 Controller 中的 2 个方法。然后在主 Controller 中,我在 .h 中有此代码:

@interface ViewController : UIViewController

@property (weak,nonatomic) IBOutlet UIView *rightView;
@property (assign,nonatomic) CGRect rightRect;

@end

在 .m 中,只有这个:

@implementation ViewController

- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.rightRect = self.rightView.frame;
}


-(IBAction)revealSidebar:(id)sender {
[UIView animateWithDuration:.3 animations:^{
self.rightView.frame = self.view.window.frame;
}];
}

-(IBAction)hideSidebar:(id)sender {
[UIView animateWithDuration:.3 animations:^{
self.rightView.frame = self.rightRect;
}];
}
@end

关于iphone - 如何制作简单的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13515378/

32 4 0