gpt4 book ai didi

ios - 尝试设置 selectedImage 时 UITabBarItem 没有可见界面

转载 作者:行者123 更新时间:2023-11-28 21:32:41 26 4
gpt4 key购买 nike

我看到您可以为 UITabBarItem 添加一个 selectedImage 和一个图像,所以我修改了一个 Cordova 插件来添加:

UIImage *tabIcon = [UIImage imageNamed:imageName];
UIImage *selectedTabIcon = [UIImage imageNamed:selectedImage];
tabIcon = [tabIcon imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
selectedTabIcon = [selectedTabIcon imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
item = [[UITabBarItem alloc] initWithTitle:title image:tabIcon tag:tag selectedImage:selectedTabIcon];

此处selectedImage变量是插件传入的字符串:

  NSString  *name      = [arguments objectAtIndex:0];
NSString *title = [arguments objectAtIndex:1];
NSString *imageName = [arguments objectAtIndex:2];
NSString *selectedImage = [arguments objectAtIndex:3];
int tag = [[arguments objectAtIndex:3] intValue];

然而,当我尝试编译它时,出现以下错误:

/Users/tomchambers/work/cordova-ios-tab-bar/src/ios/CDVTabBar.m:266:34: error: no visible @interface for 'UITabBarItem' declares the selector 'initWithTitle:image:tag:selectedImage:' item = [[UITabBarItem alloc] initWithTitle:title image:tabIcon tag:tag selectedImage:sel... ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated.

** BUILD FAILED **

我对 Objective C 没有经验,所以我认为这可能是我在这里遗漏的一些简单的东西。


当使用不同的方法时(图像肯定存在):

  UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"random" image:[UIImage imageNamed:@"www/assets/images/tab-bar-icons/ic_mail_outline.png"] selectedImage:[UIImage imageNamed:@"www/assets/images/tab-bar-icons/ic_mail_outline.png"]];

2016-02-08 11:48:31.367 Movidiam[1847:843403] Apache Cordova native platform version 3.9.2 is starting.
2016-02-08 11:48:31.369 Movidiam[1847:843403] Multi-tasking -> Device: YES, App: YES
2016-02-08 11:48:31.372 Movidiam[1847:843403] Unlimited access to network resources
2016-02-08 11:48:31.679 Movidiam[1847:843403] [CDVTimer][statusbar] 152.289033ms
2016-02-08 11:48:31.680 Movidiam[1847:843403] [CDVTimer][TotalPluginStartup] 152.797997ms
2016-02-08 11:48:31.847 Movidiam[1847:843403] Resetting plugins due to page load.
2016-02-08 11:48:34.294 Movidiam[1847:843403] -[__NSDictionaryM intValue]: unrecognized selector sent to instance 0x13f82d430
2016-02-08 11:48:34.295 Movidiam[1847:843403] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryM intValue]: unrecognized selector sent to instance 0x13f82d430'
*** First throw call stack:
(0x1834f9900 0x182b67f80 0x18350061c 0x1834fd5b8 0x18340168c 0x1000eaf4c 0x100102528 0x100101df4 0x183ebbe20 0x1834b0efc 0x1834b0990 0x1834ae690 0x1833dd680 0x1848ec088 0x188254d90 0x1000c7814 0x182f7e8b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

最佳答案

您用来实例化 TabBarItem 的方法不存在。您必须使用其中任何一个:

UITabBarItem * item = [[UITabBarItem alloc] initWithTitle:@"title" image:[UIImage imageNamed:@"image.png"] tag:1];

UITabBarItem *item1 = [[UITabBarItem alloc] initWithTitle:@"title" image:[UIImage imageNamed:@"image.png"] selectedImage:[UIImage imageNamed:@"selectedImage.png"]]; 

关于ios - 尝试设置 selectedImage 时 UITabBarItem 没有可见界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35267719/

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