我在XCode中遇到了一些奇怪的链接错误.我或多或少地了解链接错误是什么,而不是为什么它们出现在我的情况中.
我有一个仅作为iPhone启动的应用程序.当我将其调整为通用时,我得到了一些奇怪的链接错误.然后我简单地创建了一个新的通用项目并导入了文件,它构建并执行时没有错误.现在,使用iPad界面,我添加了一些动画并继承了QuartzCore/QuartzCore.h但是当我构建时,我得到了链接错误(如下所示).导致此类问题的原因是,我该如何修复它,以及如何在将来避免它?
"_OBJC_CLASS_$_CAMediaTimingFunction", referenced from:
objc-class-ref-to-CAMediaTimingFunction in mainViewController_iPad.o
"_OBJC_CLASS_$_CABasicAnimation", referenced from:
objc-class-ref-to-CABasicAnimation in mainViewController_iPad.o
"_kCAMediaTimingFunctionEaseIn", referenced from:
_kCAMediaTimingFunctionEaseIn$non_lazy_ptr in mainViewController_iPad.o
(maybe you meant: _kCAMediaTimingFunctionEaseIn$non_lazy_ptr)
"_OBJC_CLASS_$_CAKeyframeAnimation", referenced from:
objc-class-ref-to-CAKeyframeAnimation in mainViewController_iPad.o
"_OBJC_CLASS_$_CAAnimationGroup", referenced from:
objc-class-ref-to-CAAnimationGroup in mainViewController_iPad.o
"_CATransform3DIdentity", referenced from:
_CATransform3DIdentity$non_lazy_ptr in mainViewController_iPad.o
(maybe you meant: _CATransform3DIdentity$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,显示一个文本页面,能够点击一个按钮或在视图中滑动,以推进或撤退各种页面.容器视图附加了两个UISwipeGestureRecognizer,用于向左滑动和向右滑动.这些手势没问题.但现在我正在尝试将UITapGestureRecognizer添加到另一个视图中,提供类似于iBooks或Kindle应用程序的功能,点击左侧返回,右侧继续前进.我所做的一切都无法触发.即使我将手势放在最顶层的视图上并禁用其他手势,也不会暗示它会被触发.
视图控制器实现了UIGestureRecognizerDelegate,但我不需要实现委托方法.我确实尝试过实现shouldReceiveTouch:没有成功.
这是我创建和附加手势识别器的代码片段:
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTurnPage:)];
[self.view addGestureRecognizer:recognizer];
[recognizer release];
Run Code Online (Sandbox Code Playgroud) 如果我想要格式化文本(大小的变化,某些文本元素的位置等)但又不想使用UIWebView,那么Core Text是我唯一剩下的选项吗?
我回避UIWebView主要是因为在iPad和iPhone之间切换时出现问题.而不是根据设备/方向进行条件代码和动态调整HTML,我想我会继续看看使用Core Text.
建议?
我有一个UIToolbar,alpha设置为.6.看起来很棒 - 但它也留下了.6的alpha按钮,这是好的,但不是很理想.有没有办法独立设置UIBarButtonItem的alpha?我怎么能让这些看起来是白色而不是略带灰色?
我有两个实体,它们之间有一对多的关系.保存"many"的实体具有预期的NSSet属性.我不确定如何访问NSSet中的特定元素.NSSet包含具有多个属性的对象,其中一个属性是currentWeek.我想访问我的NSSet中具有特定currentWeek的对象.
我知道我可以做一个FetchRequest来找到它,但我认为使用NSSet有一种更简单的方法.
有一个令人费解的问题.我有一个通用的应用程序,在iPad和iPhone版本之间有很多共享代码.在nib中有不同的布局,但基本上是相同的视图和视图层次结构 - 一个UIView用作两个兄弟UITextViews的容器.
UIView的MAINVIEW儿童:
UITextView的passageTextView
的UITextView notesTextView
一个UITextView被隐藏,另一个可见.
以下是我的代码.注释掉的部分是我原来的动画尝试.这在iPad上可以正常工作,但在iPhone上却没有.使用文档中建议的方法,取消注释部分为2.未注释的代码在iPad或iPhone上都不起作用 - 它隐藏/取消隐藏我的视图但没有任何动画.如果我将代码添加到也被执行的完成块,那么它正在做某事,而不是动画.
/*
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainView cache:YES];
passageTextView.hidden = YES;
notesTextView.hidden = NO;
[UIView commitAnimations];
*/
UIViewAnimationOptions options = UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationTransitionFlipFromRight;
[UIView transitionWithView:mainView
duration:1.0
options:options
animations:^{ passageTextView.hidden = YES; notesTextView.hidden = NO; }
completion:NULL];
Run Code Online (Sandbox Code Playgroud)
编辑:仍然在解决这个问题,希望有人有一个建议.
其他更新
弄清楚为什么以下不适用于iPhone:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainView cache:YES];
passageTextView.hidden = YES;
notesTextView.hidden = NO;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
我忽略了将视图连接到Interface Builder中的mainView.几个小时的调试,我刚考虑检查.
但是,我仍然不知道为什么动画块不能用于iPhone或iPad.我已经尝试了几种方法,但即使显示/隐藏正在工作,我也没有得到任何动画.