gpt4 book ai didi

ios - 使用侧边栏菜单时,UITableView 无意中向下移动了 ~1 英寸

转载 作者:可可西里 更新时间:2023-11-01 05:29:06 26 4
gpt4 key购买 nike

我的应用程序中有一个奇怪的错误,它使用带有 UITableView 的侧边栏菜单来列出要导航的按钮。当我启动我的应用程序时,everything looks fine and is in the correct place .

一旦我选择了相应的 viewController,并导航回侧边栏菜单UITableView` is shifted down about 1 inch .

如果我按下侧边栏菜单按钮将其关闭,菜单将重置并且一切正常。这个错误只发生一次,一旦我选择一行,导航回它,关闭它,UITableView 将处于正确的位置,直到用户硬重启应用程序。知道发生了什么事吗?

这是我的侧边栏菜单代码:

#import "SideBarViewController.h"

@interface SideBarViewController ()

@end

@implementation SideBarViewController

@synthesize controllerArray, sidebarButton;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.

controllerArray = [NSArray arrayWithObjects:@"Search For Games", @"Login", @"Library", nil];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [controllerArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}

cell.textLabel.text = [controllerArray objectAtIndex:indexPath.row];
return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

UIViewController *selection;

if (indexPath.row == 0) {
selection = [self.storyboard instantiateViewControllerWithIdentifier:@"SearchController"];
[self.navigationController pushViewController:selection animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
else if (indexPath.row == 1) {
selection = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginController"];
[self.navigationController pushViewController:selection animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
else if (indexPath.row == 2) {
selection = [self.storyboard instantiateViewControllerWithIdentifier:@"LibraryController"];
[self.navigationController pushViewController:selection animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}

}

我按照“Ray Wenderlich”网站上的教程获取边栏代码。

此外,我测试了其他对象,例如按钮和标签,但它们没有移动,只有 UITableView 会移动。

谢谢!

最佳答案

我找到了解决方案!它与导航 Controller 的设置有关。在此应得的信用。

Container View getting pushed down as if it had a UINavigationBar?

您需要检查并查看导航栏设置下是否选中了“半透明”。

关于ios - 使用侧边栏菜单时,UITableView 无意中向下移动了 ~1 英寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com