使用iOS 7的自定义视图控制器转换,我想实现类似于iOS 7中的苹果默认视图控制器转换的视觉效果。 (您可以滑动的位置,通过从左向右滑动视图控制器来popup视图控制器,其中顶部视图控制器用阴影滑动另一个顶部视图控制器,并且导航栏移动。) 不过,我在实施这个过程中遇到了很多困难。 自定义视图控制器上的大多数教程与默认情况下有非常不同的效果,以显示API的function,但我想复制这一个。 在我的子类中实现<UIViewControllerAnimatedTransitioning>我有以下代码的交互式animation: – (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; [transitionContext.containerView addSubview:toViewController.view]; [transitionContext.containerView addSubview:fromViewController.view]; fromViewController.view.layer.shadowOffset = CGSizeMake(0.0, 0.0); fromViewController.view.layer.shadowColor = [UIColor blackColor].CGColor; fromViewController.view.layer.shadowRadius = 5.0; fromViewController.view.layer.shadowOpacity = 0.5; [UIView animateWithDuration:[self transitionDuration:transitionContext] delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ CGRect newFrame = fromViewController.view.frame; newFrame.origin.x = CGRectGetWidth(fromViewController.view.bounds); fromViewController.view.frame = newFrame; } […]
目前,我正在尝试将我的键盘工具栏上的下一个/上一个button设置为新的,精美的iOS 7后退button/前进button,以便导航控制器返回。 这是我正在尝试。 我怎样才能使用系统栏button项而不是无聊的静态文本? [self setToolbar:[[UIToolbar alloc] initWithFrame:self.frame]]; [self.toolbar setBarStyle:UIBarStyleDefault]; [self.toolbar setAutoresizingMask:(UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth)]; [self addSubview:self.toolbar]; [self setSegmentedControl:[[UISegmentedControl alloc] initWithItems:@[ NSLocalizedStringFromTable(@"Previous", @"BSKeyboardControls", @"Previous button title."), NSLocalizedStringFromTable(@"Next", @"BSKeyboardControls", @"Next button title.") ]]]; 这是现在的样子: 这是我想要的样子: 有关如何访问这些系统项目,而不实际使用图像的任何想法? 我知道它确切的iOS 7的后台button项目,我只是不知道如何访问它在工具栏中。 我到处search 如果有帮助,我使用BSKeyboardControls。 编辑:为了使它看起来像第二个图像,使用由约书亚提供的图像,并将其保存为back@2x.png和forward@2x.png到您的xcode程序。 使用Chun的代码,但一定要调用获取图像的方法:imageNamed:@“back”,而不是@“back @ 2x”。 你现在有iOS 7的前后button:) 编辑2:为了让它看起来像下一个/上一个箭头button使用正确的实现方法中的以下自定义: [self.segmentedControl setWidth:50 forSegmentAtIndex:0]; [self.segmentedControl setWidth:38 forSegmentAtIndex:1]; negativeSeparator.width = […]
我有一个包裹在导航控制器中的表视图控制器。 导航控制器似乎在通过presentViewController:animated:completion:呈现时自动将正确的内容插入应用于表格视图控制器presentViewController:animated:completion: (任何人都可以向我解释这是如何工作的?) 但是,只要将组合包装在自定义容器视图控制器中,并将表视图内容的最顶部隐藏在导航栏的后面。 有什么我可以做的,以保持自动内容插入行为在这个configuration? 我是否必须“通过”容器视图控制器中的东西,才能正常工作? 我想避免不得不手动或通过自动布局调整内容插入,因为我想继续支持iOS 5。
在我们使用的企业iOS应用程序中 CTCallRef CTCallDial(CFStringRef number); 从应用程序进行调用(并能够隐藏来电号码 它似乎没有在iOS 7中工作。有API更改吗? (我完全知道,这是一个私人的API调用,它可以随时更改,但我仍然希望find一个替代品。遗憾的是,我不够聪明,知道如何find所有可用的私有API)
对于只有iOS7的应用程序,我有一个UITableView(虽然这将是学术的,将其更改为UICollectionView,如果这将帮助)的单元格看起来像这样: +———————————-+=======+ | Label1 | sub- | | Label2 Label3 | view | +———————————-+=======+ 我想转换到第二个视图,其中子视图缩小到更大,标签位置也改变了,更像这样: +———-+ | | | subview | | | +———-+ Label1 Label2 Label3 这与iOS7日历应用程序类似,视图正在转换和animation的方式部分。 我知道我需要实现UIViewControllerAnimatedTransitioning ,但是我在概念上遇到了这样的问题。 我隐藏单元格的子视图,将它们replace为新视图的子视图,但在同一个地方,然后animation这些? 还是有一个不太复杂的方法? 任何示例代码将不胜感激,因为我发现所有的例子都没有从一个视图到另一个视图的子视图。 ETA:我想到的越多,我越想知道:用stream布局的UICollectionView可以更好地处理这个问题,并且只需将细胞的大小调整为屏幕的全尺寸即可?
我正在使用新的Text Kit API将附件添加到某些属性文本: // create an attachment for each image NSTextAttachment* ta = [NSTextAttachment new]; ta.image = [UIImage imageNamed:@"imageName"]; // add to the attributed text string NSAttributedString* rep = [NSAttributedString attributedStringWithAttachment:ta]; [myAttributedTextString appendAttributedString:rep]; 这工作正常,我可以看到我的图像呈现在输出。 但是,我无法find任何指定图像alignment的方法,或者在图像周围缠绕文本。 有任何想法吗? 注意:文本附件不同于排除path – 文本附件是“模型”的一部分,即它是布局pipe理器在其上执行文本布局的属性文本string的一部分。 而排除path是视图的一部分。
我在我的应用程序中实现了一个自定义的UIViewController Transition,它取代了内置推animation的导航控制器。 一切工作到目前为止,除了在新推视图控制器toplayoutguide是0,虽然新的视图控制器从旧的视图控制器inheritance了导航栏。 它应该是64.0(状态栏高度+导航栏高度),现在是0.0。 因此,连接到故事板中顶部布局指南的所有对象都显示为太高的64个点(在半透明条的下方)。 当我禁用自定义视图转换时,顶部布局指南将具有预期的值。 我试图调用layoutSubviews和updateConstraints“到处都是”。 在视图控制器以及导航控制器中。 据我所知,导航控制器(parentviewcontroller)应该更新新的视图控制器的toplayoutguide,但显然我缺less一些在我的自定义转换代码,触发更新到正确的值toplayoutguide。 这是我的自定义转换代码,它是一个设置为navigationcontroller委托的对象: – (NSTimeInterval)transitionDuration:(id<UIViewControllerContextTransitioning>)transitionContext { return 0.7; } – (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { UIView *animationContainerView = [transitionContext containerView]; UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; UIView *toView = [toVC view]; UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; UIView *fromView = [fromVC view]; CGRect endFrame = [transitionContext finalFrameForViewController:toVC]; CGRect startFrame; startFrame = CGRectOffset(endFrame, 0, […]
我试图隐藏状态栏,但保持“较大”的导航栏高度。 现在当我隐藏状态栏时,通过设置- (BOOL)prefersStatusBarHidden为YES ,然后调用[self setNeedsStatusBarAppearanceUpdate]; 。 这个问题是,导航栏将滑动,并不会留下我试图显示的通知的空间。 简单地添加视图到状态栏不是一个选项,我们的状态栏/导航具有迷幻效果。 有没有人有线索如何保持与状态栏高度的标准导航栏高度,并从中删除状态栏? 编辑; 我最终做的是冒险,并通过私有API获取状态栏的UIWindow,并抵消这一点。 编辑2; 应用获得了私有API的批准。 尽pipe谨慎!
奇怪的问题我似乎无法解决只在iOS 7地方, CAEmitterLayer会在出生率初始设置为非零值时在屏幕上错误地生成粒子。 就好像它计算了图层将来的状态。 // Create black image particle CGRect rect = CGRectMake(0, 0, 20, 20); UIGraphicsBeginImageContext(rect.size); CGContextFillRect(UIGraphicsGetCurrentContext(), rect); UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // Create cell CAEmitterCell *cell = [CAEmitterCell emitterCell]; cell.contents = (__bridge id)img.CGImage; cell.birthRate = 100.0; cell.lifetime = 10.0; cell.velocity = 100.0; // Create emitter with particles emitting from a line on […]
所以,我有一个应用程序,使用核心图像的面部检测function( https://itunes.apple.com/us/app/ace-freakyface-cartoon-mask/id454513332?mt=8 ),我刚刚得到新的iPhone 5s和应用程序不再检测到一张脸。 我也在debugging时在控制台中收到一个错误: /System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat:mach-o,但错误的体系结构2013-09-25 20:17:22.861 faceMaker [474:a16b]人脸检测发现脸部错误:错误域= FCRFaceDetectorErrorDomain Code = 2“dlopen(/System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat,2):没有find合适的图像find了: 我已经用iOS 7更新了我的iPhone 4(非64位),并且应用程序可以正常工作。 我认为我需要更新有效的体系结构,但是当我这样做时,我会中断AdMob库。 可能有解决方法,但不是我所知道的。 无论如何,我会继续尝试的东西,但想知道是否有其他人有类似的问题。 我也下载了什么看起来是应用程序商店中的其他应用程序使用面部检测器API和相同的结果,即没有64位的喜悦。 谢谢, 缺口