- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户按下中心 UITabBarItem
时,我会呈现一个模态 UIView
。把它想象成 Instagram。
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
if(viewController == [self.viewControllers objectAtIndex:2])
{
CameraViewController *cameraVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"cameraVC"];
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:cameraVC];
navController.navigationBar.barStyle = UIStatusBarStyleLightContent;
[self presentViewController:navController animated:YES completion:nil];
return NO;
}
else
{
return YES;
}
}
这非常有效。
当我在 CameraViewController 中完成拍照后,我希望关闭 View 并为图片结果选择第 4 个 UITabBarItem
(HistoryViewController)。
这就是我在 CameraViewController(模态推送)中的做法:
[self dismissViewControllerAnimated:YES completion:nil];
[(UITabBarController *)self.presentingViewController setSelectedIndex:3];
这就是问题所在。
如您所见,第 4 个选项卡中的文本已被选中,但第一个选项卡图标仍处于选中状态。此外,显示的 View 是第一个选项卡中的 View 。
大约 10 秒后,它最终将 View 更改为正确的第 4 个选项卡。
我试图找出是什么进程造成了这种减速,所以我设置了很多 NSLog。
CameraViewController 中的 [(UITabBarController *)self.presentingViewController setSelectedIndex:3];
和 HistoryViewController 中的 viewDidLoad
之间大约有 10 秒的减速。
在这些调用/方法之间发生了什么可能导致速度变慢?
编辑:
在 CameraViewController 中:
- (void)scan {
dispatch_queue_t scanTesseract = dispatch_queue_create("scanTesseract", NULL);
dispatch_async(scanTesseract, ^(void) {
dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD setForegroundColor:[UIColor ht_mintDarkColor]];
[SVProgressHUD showProgress:0 status:@"Scanning"];
});
//background processing goes here
[self.tesseract setImage:self.imgToScan.blackAndWhite];
[self.tesseract recognize];
[self filterResults:[self.tesseract recognizedText]];
dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD dismiss];
});
[self scanningDone];
});
}
- (void)scanningDone {
[LastScan getInstance].hasBeenViewed = FALSE;
[self dismissViewControllerAnimated:YES completion:nil];
[(UITabBarController *)self.presentingViewController setSelectedIndex:3];
}
在 HistoryViewController 中:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"ViewDidLoad");
self.navigationController.navigationBar.barStyle = UIStatusBarStyleLightContent;
self.collectionView.backgroundColor = [UIColor whiteColor];
}
最佳答案
您正在后台队列中调用 scanningDone。在主队列上执行该方法。
dispatch_async(dispatch_get_main_queue(), ^{
[self scanningDone];
});
关于ios - UITabBarController setSelectedIndex 性能低下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27900813/
MyJList myList = new MyJList(); myList.addListSelectionListener(new ListSelectionListener() {
所以我试图让按钮穿过我的每个选项卡面板,它工作得很好。现在,每次其中一个选项卡到达末尾时,我都必须让他们重复运行选项卡。我使“上一个”按钮起作用,并且它起作用,但我似乎无法获得正确的数字表达式来使“下
我试图通过 for 来遍历 JList,目标是为 Gif 制作动画,在 JList 的每个项目中我都有一个图像,当我按下动画按钮时,for 会传递 JList 上的每个项目并进行更改JLabel 图标
当用户按下中心 UITabBarItem 时,我会呈现一个模态 UIView。把它想象成 Instagram。 -(BOOL)tabBarController:(UITabBarController
在我的应用程序中,我有这样一种情况,我以编程方式更改 tabBarController 的选定索引 [self.tabBarController setSelectedIndex:0]; 然后返回到我
具有以下功能的脚本仅选择第一个下拉菜单中的设置值,但不会选择同一网页上下一个下拉菜单中的相同值。我需要进行哪些调整才能使其在所有下一个下拉菜单中选择相同的值? var size = "4"; func
这是我的 Java Swing UI 代码。基本上我有 2 个组合框,我试图将两个组合框的默认索引设置为 -1(空白)。 setSelectedIndex(-1) 对于第一个可以正常工作,但对于第二个
我有一个 GUI,如下所示。卡片布局 card 1 面板中的选项卡式 Pane 默认显示第一个选项卡。当我导航到 card 2 时,我想知道如何使那里的按钮导航到 card 1 选项卡 3。我知道如何
我想知道我们什么时候为 uitabbbarviewcontroller 设置 setSelectedIndex,将调用哪个委托(delegate)方法。 在我的应用程序中,我有要购买的歌曲列表。当用户
我正在使用带有 Controller 的 TabBar View 。 在 .h 中:@interface TabsViewController : UITabBarController 在 .m 中:
本文整理了Java中com.tc.admin.common.XTabbedPane.setSelectedIndex()方法的一些代码示例,展示了XTabbedPane.setSelectedInde
cbTexture.setSelectedIndex(0); 在最后调用构造函数,但它没有帮助自动选择子纹理在它之后。为什么? public class TradeInDialog extends
旋转动画发生在状态栏(有时钟和电池图标),但 View 本身只是改变大小,它不做翻页动画。在 gif(下图)中,我以慢动作截取了一些旋转动画。您可以看到时钟和电池图标旋转到 View 中,即使内容只是
本文整理了Java中org.pentaho.ui.xul.components.XulMenuList.setSelectedIndex()方法的一些代码示例,展示了XulMenuList.setSe
本文整理了Java中org.pentaho.ui.xul.containers.XulDeck.setSelectedIndex()方法的一些代码示例,展示了XulDeck.setSelectedIn
我有一个包含两列的 JTable。第二列有不同的编辑器(JTextField、JComboBox 和 CheckComboBox),每行一个。到目前为止,这工作得很好,但是我已经实现了一个重置选项
我正在尝试制作一个游戏,但我的代码根本无法工作,我不知道为什么。我是一名经验不足的新手程序员,并且对我的代码感到非常沮丧。我一直在尝试解决这个问题,但没有成功。请帮助我。 public class h
已编辑 有人可以解释[self.tabBarController setSelectedIndex:1];和self.tabBarController.selectedIndex = 1;之间的区别
我是一名优秀的程序员,十分优秀!