gpt4 book ai didi

ios - 根据 View 是否为空显示/隐藏 UIBarButtonItem

转载 作者:行者123 更新时间:2023-11-29 03:56:19 25 4
gpt4 key购买 nike

我有一个简单的 iPad 项目,其中的 View 有两个容器。选择左侧的条目后,右侧会更新其详细信息。右 View Controller 的工具栏上还有 UIBarButtonItem,它使用 UIActivityController 在不同的社交网络上共享其内容。该按钮与IBAction的连接如下:

-(IBAction)Share:(id)sender
{
NSArray *activityItems = @[self.title, urlString];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];

[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed)
{
NSLog(@"Activity = %@",activityType);
NSLog(@"Completed Status = %d",completed);

if (completed)
{
UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Successfully Shared" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[objalert show];
objalert = nil;
} else
{
UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Unable To Share" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[objalert show];
objalert = nil;
}
}];
}

一切正常,但是当应用程序第一次打开时,右侧是空的,点击“共享”按钮会导致崩溃。

当右 View Controller 为空时如何隐藏栏按钮并且仅当 View Controller 中有内容时才会出现栏按钮项目??

提前致谢。

最佳答案

我不知道是否有办法“隐藏”它,但是当您第一次在viewDidLoad中创建按钮时,您可以将其enabled属性设置为NO。或者,您可以延迟其创建,直到您更新右侧的详细信息。

如何启用或创建它取决于您更新右侧的操作。一种常见的方法是在执行更新时覆盖您正在设置的值的 setter 。例如,如果您要设置名为“detailString”的字符串属性的值,则可以执行以下操作:

-(void)setDetailString:(NSString *) newString {
_detailString = newString;
self.navigationItem.rightBarButtonItem.enabled = YES;
}

关于ios - 根据 View 是否为空显示/隐藏 UIBarButtonItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451907/

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