【发布时间】:2011-06-14 11:06:44
【问题描述】:
尝试在基于拆分视图的应用程序中向 detailviewcontroller 工具栏的右侧添加一个按钮。我使用灵活的空间将其移到右侧。在纵向它工作正常,但在横向(当菜单按钮消失时),按钮被移动,使其一半离开屏幕。
这是相关代码(DetailViewController.m):
- (void) viewDidLoad
{
// initialize toolbar
toolbar = [[UIToolbar alloc] initWithFrame: CGRectMake( 0, 0, 768, 44 )];
titleLabel = [[UILabel alloc] initWithFrame: CGRectMake( 284, 3, 200, 35 )];
titleLabel.text = @"Title & Location";
titleLabel.textAlignment = UITextAlignmentCenter;
[toolbar addSubview: titleLabel];
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target: nil action: nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle: @"Add Event" style: UIBarButtonItemStyleDone target: rootController action: @selector(parseDone)];
NSArray *buttonArray = [NSArray arrayWithObjects: flexibleSpace, doneButton, nil];
[toolbar setItems: buttonArray];
[doneButton release];
[flexibleSpace release];
[self.view addSubview: toolbar];
}
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem
{
NSMutableArray *itemsArray = [toolbar.items mutableCopy];
[itemsArray insertObject: barButtonItem atIndex: 0];
[toolbar setItems:itemsArray animated:NO];
}
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem
{
NSMutableArray *itemsArray = [toolbar.items mutableCopy];
[itemsArray removeObject:barButtonItem];
[toolbar setItems:itemsArray animated:NO];
[itemsArray release];
}
【问题讨论】:
-
这个问题很可能是由于自动调整掩码。您可能需要检查设置并确保它们是您想要的。
-
我过去也遇到过这个问题,我已经以某种方式解决了它,但我的记忆就像一个漏勺。
-
另外,您已经提出了 14 个问题并接受了 0 个答案。您可能想回顾旧问题并接受(单击旁边的复选标记)解决您的问题的答案。通过这样做,您将成为 SO 社区的活跃成员,并且更有可能鼓励人们在未来花时间尝试帮助您。
标签: iphone uisplitviewcontroller uibarbuttonitem uitoolbar