1

隐藏按钮这对我来说似乎是一个错误,但也许有人可以想到一个解决方法?

基本上,如果您有一个 custom UIToolbar,它的按钮项会在您呈现 a 时自动隐藏UIActivityViewController,并在您关闭它时重新出现。这只是 iPhone 上的情况。由于 UIActivityViewController 不会隐藏整个屏幕,因此按钮消失在变暗的屏幕后面看起来很奇怪。

要复制,只需启动单个视图项目并在视图控制器上使用以下代码:

- (void)viewDidLoad {
    UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 40)];
    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(didTapAction)];
    toolbar.items = [NSArray arrayWithObject:button];
    [self.view addSubview:toolbar];
}

- (void)didTapAction {
    NSArray *items = [NSArray arrayWithObjects:@"Text", nil];
    UIActivityViewController *sharing = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
    [self presentViewController:sharing animated:YES completion:nil];
}
4

2 回答 2

0

找到了解决方法。只需在演示之前删除所有项目,然后立即将它们添加回来。

- (void)didTapAction {
    NSArray *items = [NSArray arrayWithObjects:@"Text", nil];
    UIActivityViewController *sharing = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
    NSArray *barItems = toolbar.items;
    toolbar.items = nil;
    [self.navigationController presentViewController:sharing animated:YES completion:nil];
    toolbar.items = barItems;
}
于 2012-10-16T00:30:06.203 回答
0

知道这是一个很老的线程,但是那些在这个页面上寻找解决方案的人,给你:

使用 iOS7,您可以使用这种方法来显示/隐藏您的工具栏按钮:

if(// your code Condition) 

{ self.toolbarBtn1.enabled = 是;self.toolbarBtn1.tintColor = nil; } 其他 { self.toolbarBtn1.enabled = NO; self.toolbarBtn1.tintColor = [UIColor clearColor]; }

于 2016-04-29T16:40:47.630 回答