【问题标题】:rightbarbuttomitem is out of bounds when I change orientation in splitviewcontroller当我在 splitviewcontroller 中更改方向时,rightbarbuttomitem 超出范围
【发布时间】:2012-04-09 12:10:02
【问题描述】:

我有一个 SplitViewController,导航上有一个 rightbarbuttonitem,当我将方向从纵向更改为横向时,它会调整大小,我的 rightbarbuttonitem 超出范围

右边的barbuttomitem是一个自定义视图(蓝色背景)。

我附上一些问题的图片:

还有我的代码:

在应用代理中:

masterViewController = [[MasterViewController alloc] initWithFeed:feedData];
    UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];

    detailViewController = [[DetailViewController alloc] initWithFeed:[feedData.secciones objectAtIndex:0]];
    [detailViewController setSeccionData:[feedData.secciones objectAtIndex:0]];
    UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
    detailNavigationController.navigationBar.tintColor = [UIColor getHexColorWithRGB:@"e2de09" alpha:1.0f];

    self.splitViewController = [[UISplitViewController alloc] init];
    self.splitViewController.delegate = detailViewController;

    masterViewController.delegate=detailViewController;
    self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];

    self.window.rootViewController=self.splitViewController;

并在我的 DetailViewController 中使用自定义视图初始化 rightbarbuttonitem:

self.navigationItem.rightBarButtonItem=nil;
NSArray *buttons;

    buttons = [NSArray arrayWithObjects:@"send",@"reload",nil];
    tools=[[Toolbar alloc] initWithFrame:CGRectMake(0, 0, 110, 30) parentController:detalleDG buttons:buttons];

tools.delegate=self;    

UIBarButtonItem *btnRight=[[UIBarButtonItem alloc] initWithCustomView:tools.view];
self.navigationItem.rightBarButtonItem=btnRight;

我试过了 detailNavigationController.navigationBar.autoresizingMask=UIViewAutoresizingFlexibleWidth;或者 tools.view.autoresizingMask=UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 但什么都没有

有什么建议吗?谢谢

【问题讨论】:

    标签: ios uinavigationcontroller uisplitviewcontroller rightbarbuttonitem


    【解决方案1】:

    在这一行

    tools=[[Toolbar alloc] initWithFrame:CGRectMake(0, 0, 110, 30) parentController:detalleDG buttons:buttons];
    

    试试改成这个

    tools=[[Toolbar alloc] initWithFrame:CGRectMake(0, 0, xxxxx.frame.size.width, xxxx.frame.size.height) parentController:detalleDG buttons:buttons];
    

    您可以根据您的 bartool 屏幕大小或您的视图屏幕自动更改“xxxxx”以获取宽度和高度

    有帮助吗?

    【讨论】:

    • 我的工具栏是 UIView,所以我尝试通过 UIToolbar 对其进行更改,它现在可以工作了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 2019-03-29
    • 2023-01-06
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    相关资源
    最近更新 更多