11 如何获得精确的时间,例如在Objective-C中以毫秒为单位? 有没有一种简单的方法可以精确地获取时间? 我需要计算两次方法调用之间的延迟。更具体地说,我想计算UIScrollView中的滚动速度。 99 iphone objective-c cocoa-touch uikit
9 UITableView行动画的持续时间和完成回调 是否可以指定UITableView行动画的持续时间,或者在动画完成时获取回调? 我想做的是在动画完成后闪烁滚动指示器。在此之前进行闪光灯不会执行任何操作。到目前为止,我要解决的问题是延迟半秒(这似乎是默认的动画持续时间),即: [self.tableView insertRowsAtIndexPaths:newRows withRowAnimation:UITableViewRowAnimationFade]; [self.tableView performSelector:@selector(flashScrollIndicators) withObject:nil afterDelay:0.5]; 98 ios iphone uitableview animation cocoa-touch
8 向下移动UITabBarItem图像? 通常,在的每个标签上,UITabBar您都有一个小图像,并为该标签命名。图像在选项卡顶部定位/居中,以适应下面的标题。我的问题是:如果您想拥有一个只有图像且没有标题的tabBar,是否有办法将图像向下移动,使其在选项卡中更好地居中? 我目前正在使用(见下文): [tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected]; 但是我更喜欢使用没有标题的较大图像,目前,如果我将图像放大到大约70pixels @ 2x左右,它将开始从顶部UITabBar溢出,同时在底部留下大量未使用的空间。 98 iphone objective-c cocoa-touch uitabbar uitabbaritem
7 iPhone OS:如何为特定日期创建NSDate? 看起来很简单,但我似乎找不到解决方法。 很高兴看到几种不同的方法。 98 ios cocoa-touch nsdate nsdateformatter nscalendar
16 “无法连接到iTunes Store”应用内购买 我在测试应用内购买商品时遇到问题。我获得了有效的产品标识符,但购买后会收到可怕的“无法连接到iTunes Store”。有趣的是,恢复购买似乎可以正常进行-iTunes登录弹出。 我已经:-检查我的应用内购买商品是否已允许出售-检查,重新检查了我的源代码以与Apple文档保持同步-添加了适当的测试用户-应用ID不包含通配符-应用内购买链接到应用程式(应用程式本身处于开发人员被拒绝的状态,购买已准备就绪,可以提交)-等待-重新安装的应用程式,已清理的解决方案,所有巫毒物品 98 ios cocoa-touch in-app-purchase
14 获取当前页面 在我的滚动视图中,我想获取正在显示的当前页面(也许页面不是正确的术语)。我找不到任何保存此变量。但是我认为它必须放在某个地方,因为指示器能够显示当前正在显示滚动视图的哪个子视图。 这是对我们完全隐藏的还是我有办法访问它? 97 ios objective-c iphone cocoa-touch uiscrollview
7 检查子视图是否在视图中 我在做一个应用程序,我一个子视图添加到使用视图addSubview:上IBAction。同样,当IBAction再次触摸带有该按钮的按钮时,应调用removeFromSuperview添加在该子视图上的该子视图IBAction: 伪代码 -(IBAction)showPopup:(id)sender { System_monitorAppDelegate *delegate = (System_monitorAppDelegate *)[[UIApplication sharedApplication] delegate]; UIView *rootView = delegate.window.rootViewController.view; if([self popoverView] is not on rootView) { [rootView addSubview:[self popoverView]]; } else { [[self popoverView] removeFromSuperview]; } } 97 ios cocoa-touch uiview uikit
5 更改transitionWithView内的rootViewController时泄漏视图 在调查内存泄漏时,我发现了与setRootViewController:在过渡动画块内调用技术有关的问题: [UIView transitionWithView:self.window duration:0.5 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{ self.window.rootViewController = newController; } completion:nil]; 如果旧的视图控制器(正在被替换的视图控制器)当前正在显示另一个视图控制器,则上面的代码不会从视图层次结构中删除显示的视图。 也就是说,这一系列操作... X成为Root View Controller X代表Y,因此Y的视图在屏幕上 使用transitionWithView:使Z中的新根视图控制器 ...看起来对用户来说还可以,但是Debug View Hierarchy工具将显示Y的视图仍在Z的视图之后,在A的内部UITransitionView。也就是说,经过上述三个步骤,视图层次结构为: UIWindow UITransitionView UIView(Y的视图) UIView(Z的视图) 我怀疑这是一个问题,因为在过渡时,X的视图实际上并不是视图层次结构的一部分。 如果我dismissViewControllerAnimated:NO在紧接之前发送给X transitionWithView:,则结果视图层次为: UIWindow UIView(X的视图) UIView(Z的视图) 如果我向dismissViewControllerAnimated:X 发送(是或否),然后在completion:块中执行转换,则视图层次结构正确。不幸的是,这会干扰动画。如果为解雇设置动画,则会浪费时间。如果不设置动画,它看起来就坏了。 我正在尝试其他方法(例如,使新的容器视图控制器类充当我的根视图控制器),但没有找到任何可行的方法。我将随时更新此问题。 最终目标是直接从呈现的视图过渡到新的根视图控制器,而不会留下杂散的视图层次结构。 97 ios cocoa-touch uiviewcontroller core-animation
14 如何拦截MKMapView或UIWebView对象上的触摸事件? 我不确定自己在做什么错,但是我试图抓住MKMapView物体。我通过创建以下类将其子类化: #import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface MapViewWithTouches : MKMapView { } - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event; @end 并执行: #import "MapViewWithTouches.h" @implementation MapViewWithTouches - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event { NSLog(@"hello"); //[super touchesBegan:touches withEvent:event]; } @end 但是当我使用此类时,在控制台上什么也看不到: MapViewWithTouches *mapView = [[MapViewWithTouches alloc] initWithFrame:self.view.frame]; [self.view insertSubview:mapView atIndex:0]; 知道我在做什么错吗? 96 ios objective-c cocoa-touch mkmapview iphone-sdk-3.0
4 比较两个CGRect 我需要检查我的视图框架是否等于给定的CGRect。我试图这样做: CGRect rect = CGRectMake(20, 20, 20, 20); if (self.view.frame == rect) { // do some stuff } 但是,我说错了Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect')。为什么我不能简单地比较两个CGRects? 95 ios objective-c cocoa-touch comparison cgrect
4 在Xcode中,get-task-allow可以做什么? 因此,当我在iPhone应用程序项目中设置权利时,将创建一个新的Entitlements.plist,并将get-task-allow的值设置为false。但为什么?此密钥代表什么? 编辑 请注意,这与这个问题有关 -我发现将此键的值翻转为true可以让我在设备上安装该应用程序) 95 iphone cocoa-touch xcode
1 测试文件是否存在的快速方法是什么? 我想快速检查一下iPhone应用程序的“文档”目录(或与此相关的任何路径)中是否存在文件。我可以枚举目录中的文件,也可以尝试打开特定文件。最快的方法是什么?我只需要知道文件是否存在或是否不存在。 94 ios iphone cocoa-touch nsfilemanager file-manager
18 “ wait_fences:未能收到回复:10004003”? 由于以下代码行,我第一次(也是第一次)收到此神秘错误: - (void)viewWillAppear:(BOOL)animated { [textField becomeFirstResponder]; } 因此,有一个明显的延迟(甚至在模拟器上约为3-4秒),这使我的应用程序无响应。有谁知道如何解决这一问题?我在Apple网站上找不到任何文档,也没有在这里或Google上找到任何解决方案。 奇怪的是,如果我插入该行-viewDidAppear:而不是-viewWillAppear:;,则会出现相反的情况。也就是说,不是只在第一次显示键盘时才打印错误,而是从不再次显示错误,而是不是第一次而是在每次之后都显示错误。这给我造成了极大的头痛。 94 iphone objective-c cocoa-touch
17 有记录的方式设置iPhone方向吗? 我有一个应用,希望在某些视图中支持设备旋转,但在风景模式下,其他应用尤其没有意义,因此当我换掉视图时,我想强制将旋转设置为纵向。 UIDevice上有一个未记录的属性设置器,可以完成此操作,但显然会生成编译器警告,并且可能在以后的SDK版本中消失。 [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 是否有任何记录的方式来强制定位? 更新:我以为我将提供一个示例,因为我已经实现了该示例,因此我没有寻找shouldAutorotateToInterfaceOrientation。 我希望我的应用在View 1中支持横向和纵向,但在View 2中仅支持纵向。我已经为所有视图实现了shouldAutorotateToInterfaceOrientation,但是如果用户在View 1中处于横向模式,然后切换到View 2,我想强制手机旋转回肖像。 94 iphone objective-c cocoa-touch
16 在UIButton中将图像缩放到AspectFit? 我想将图像添加到UIButton,也想缩放图像以适合UIButton(使图像变小)。请告诉我该怎么做。 这是我尝试过的方法,但是不起作用: 将图像添加到按钮并使用setContentMode: [self.itemImageButton setImage:stretchImage forState:UIControlStateNormal]; [self.itemImageButton setContentMode:UIViewContentModeScaleAspectFit]; 制作“拉伸图像”: UIImage *stretchImage = [updatedItem.thumbnail stretchableImageWithLeftCapWidth:0 topCapHeight:0]; 94 ios objective-c cocoa-touch uibutton uikit