Questions tagged «cocoa-touch»

驱动iOS应用程序的Cocoa Touch框架共享在Mac上发现的许多成熟模式,但它们的构建特别着重于基于触摸的界面和优化。


9
UITableView行动画的持续时间和完成回调
是否可以指定UITableView行动画的持续时间,或者在动画完成时获取回调? 我想做的是在动画完成后闪烁滚动指示器。在此之前进行闪光灯不会执行任何操作。到目前为止,我要解决的问题是延迟半秒(这似乎是默认的动画持续时间),即: [self.tableView insertRowsAtIndexPaths:newRows withRowAnimation:UITableViewRowAnimationFade]; [self.tableView performSelector:@selector(flashScrollIndicators) withObject:nil afterDelay:0.5];

8
向下移动UITabBarItem图像?
通常,在的每个标签上,UITabBar您都有一个小图像,并为该标签命名。图像在选项卡顶部定位/居中,以适应下面的标题。我的问题是:如果您想拥有一个只有图像且没有标题的tabBar,是否有办法将图像向下移动,使其在选项卡中更好地居中? 我目前正在使用(见下文): [tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected]; 但是我更喜欢使用没有标题的较大图像,目前,如果我将图像放大到大约70pixels @ 2x左右,它将开始从顶部UITabBar溢出,同时在底部留下大量未使用的空间。


16
“无法连接到iTunes Store”应用内购买
我在测试应用内购买商品时遇到问题。我获得了有效的产品标识符,但购买后会收到可怕的“无法连接到iTunes Store”。有趣的是,恢复购买似乎可以正常进行-iTunes登录弹出。 我已经:-检查我的应用内购买商品是否已允许出售-检查,重新检查了我的源代码以与Apple文档保持同步-添加了适当的测试用户-应用ID不包含通配符-应用内购买链接到应用程式(应用程式本身处于开发人员被拒绝的状态,购买已准备就绪,可以提交)-等待-重新安装的应用程式,已清理的解决方案,所有巫毒物品

14
获取当前页面
在我的滚动视图中,我想获取正在显示的当前页面(也许页面不是正确的术语)。我找不到任何保存此变量。但是我认为它必须放在某个地方,因为指示器能够显示当前正在显示滚动视图的哪个子视图。 这是对我们完全隐藏的还是我有办法访问它?

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]; } }

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:块中执行转换,则视图层次结构正确。不幸的是,这会干扰动画。如果为解雇设置动画,则会浪费时间。如果不设置动画,它看起来就坏了。 我正在尝试其他方法(例如,使新的容器视图控制器类充当我的根视图控制器),但没有找到任何可行的方法。我将随时更新此问题。 最终目标是直接从呈现的视图过渡到新的根视图控制器,而不会留下杂散的视图层次结构。

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]; 知道我在做什么错吗?

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?

4
在Xcode中,get-task-allow可以做什么?
因此,当我在iPhone应用程序项目中设置权利时,将创建一个新的Entitlements.plist,并将get-task-allow的值设置为false。但为什么?此密钥代表什么? 编辑 请注意,这与这个问题有关 -我发现将此键的值翻转为true可以让我在设备上安装该应用程序)


18
“ wait_fences:未能收到回复:10004003”?
由于以下代码行,我第一次(也是第一次)收到此神秘错误: - (void)viewWillAppear:(BOOL)animated { [textField becomeFirstResponder]; } 因此,有一个明显的延迟(甚至在模拟器上约为3-4秒),这使我的应用程序无响应。有谁知道如何解决这一问题?我在Apple网站上找不到任何文档,也没有在这里或Google上找到任何解决方案。 奇怪的是,如果我插入该行-viewDidAppear:而不是-viewWillAppear:;,则会出现相反的情况。也就是说,不是只在第一次显示键盘时才打印错误,而是从不再次显示错误,而是不是第一次而是在每次之后都显示错误。这给我造成了极大的头痛。

17
有记录的方式设置iPhone方向吗?
我有一个应用,希望在某些视图中支持设备旋转,但在风景模式下,其他应用尤其没有意义,因此当我换掉视图时,我想强制将旋转设置为纵向。 UIDevice上有一个未记录的属性设置器,可以完成此操作,但显然会生成编译器警告,并且可能在以后的SDK版本中消失。 [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 是否有任何记录的方式来强制定位? 更新:我以为我将提供一个示例,因为我已经实现了该示例,因此我没有寻找shouldAutorotateToInterfaceOrientation。 我希望我的应用在View 1中支持横向和纵向,但在View 2中仅支持纵向。我已经为所有视图实现了shouldAutorotateToInterfaceOrientation,但是如果用户在View 1中处于横向模式,然后切换到View 2,我想强制手机旋转回肖像。

16
在UIButton中将图像缩放到AspectFit?
我想将图像添加到UIButton,也想缩放图像以适合UIButton(使图像变小)。请告诉我该怎么做。 这是我尝试过的方法,但是不起作用: 将图像添加到按钮并使用setContentMode: [self.itemImageButton setImage:stretchImage forState:UIControlStateNormal]; [self.itemImageButton setContentMode:UIViewContentModeScaleAspectFit]; 制作“拉伸图像”: UIImage *stretchImage = [updatedItem.thumbnail stretchableImageWithLeftCapWidth:0 topCapHeight:0];

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.