我想动画从子视图到超级视图的过渡.
我使用以下方式显示子视图:
[UIView beginAnimations:@"curlup" context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:.5];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
[self.view addSubview:self.mysubview.view];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
以上工作正常.它回到超级视图,我没有得到任何动画:
[UIView beginAnimations:@"curldown" context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:.5];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
[self.view removeFromSuperview];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
我有什么不同的东西可以让子视图在移除时动画化吗?
我有两个第三方库似乎使用相同的类.这应该没问题,但我在构建时遇到了这种错误:
ld: duplicate symbol .objc_class_name_CJSONScanner in /Users/myappOne/TapjoyConnect/Frameworks/libTapjoyConnectSimulatorRewardInstall_Ads_Pinch.a(CJSONScanner.o) and /Developer/Projects/BuildOutput/Debug-iphonesimulator/OtherLibrary_d.a(CJSONScanner.o)
Run Code Online (Sandbox Code Playgroud)
我该如何处理这个问题......
- 编辑 -
...如果源文件不可用?
我已经为某些用户提供了我的应用程序的临时版本.其中两个应用程序在启动时死亡,而一个用户没有问题.我也可以毫无问题地安装ad hoc ......但对我来说总是如此.一位用户从Xcode管理器控制台发送了以下信息.他们没有找到任何崩溃日志.我不知道如何制作下面的信息.突出的一点是"许可被拒绝".
我将provisioning和myapp.app文件放在一个dropbox文件夹中.然后,用户从同一位置检索文件.我已经对Dropbox中的.app文件进行了编码,并获得了有效的输出:
codesign -vvvv myapp.app
myapp.app: valid on disk
myapp.app: satisfies its Designated Requirement
Run Code Online (Sandbox Code Playgroud)
任何人都有一些想法,我怎么能弄清楚为什么该应用程序不适合这个用户?
这是一个用户的控制台输出.他们找不到任何相关的崩溃日志:
Stats
totalMLSITDBPostProcessing=5.31s
commands=0.01
misc=0.45s
icuSort=4.41s (MLS_icu_data=0.23s, MLS_icu_sec_data=0.13, dropIdx=0.04, normalize=0.13, update_orders=1.31, tStatsICUOther1=0.02, createIndex=2.50)
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Error>: (UIKitApplication:com.cygen.myapp[0x8cb6]) posix_spawn("/var/mobile/Applications/4B036396-3294-4E0A-BBCC-4118E72846D4/myapp.app/myapp", ...): Permission denied
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x8cb6]) Exited with exit code: 1
Sun Dec 13 12:35:04 unknown SpringBoard[24] <Warning>: Failed to spawn myapp. Unable to obtain a task name port right for pid 179: (os/kern) failure
Sun …Run Code Online (Sandbox Code Playgroud) 我正在使用mapkit在地图上绘制超过500个点.与原生谷歌地图应用相比,缩放有点紧张.我发现了导致缓慢的原因.我正在添加自定义注释,以便稍后可以为细节视图添加不同的引脚颜色和按钮:
- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(AddressNote *) annotation {
MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentlocation"];
annView.pinColor = MKPinAnnotationColorGreen;
annView.animatesDrop=TRUE;
annView.canShowCallout = YES;
annView.calloutOffset = CGPointMake(-5, 5);
return annView;
}
Run Code Online (Sandbox Code Playgroud)
如果我注释掉上面的代码,一切正常.放大/缩小非常流畅.我应该以不同方式添加注释以提高性能吗?
我想通过RESTful服务查询MySQL数据库,中间件是PHP.我希望输出为JSON.我是这些领域的初学者.是否有任何框架或脚本可以做到这一点而无需您成为专家?如果它们可以工作,我没有问题将一些脚本串在一起.
或者,如果可以在不使用REST(即查询参数)的情况下更简单地完成,那很好.
最后,我希望有一个iPhone应用程序获取此数据并通过JSON返回.不会涉及javascript.
我正在使用以下内容播放m4a文件:
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: fileName];
SystemSoundID soundID;
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
AudioServicesPlaySystemSound(soundID);
Run Code Online (Sandbox Code Playgroud)
它在模拟器上工作正常,但我在设备上没有听到任何声音.我正在使用的声音文件都留在捆绑中.以下是来自设备的filePath:
file://localhost/var/mobile/Applications/418945F3-3711-4B4D-BC65-0D78993C77FB/African%20Adventure.app/Switch%201.m4a
Run Code Online (Sandbox Code Playgroud)
是否存在文件路径问题或我需要为设备做的任何不同的事情?
如何使用mapkit确定1000英尺或1/2英里的距离?来自某个引脚的半径或两个引脚之间的距离.
例如,我将地图集中在引脚A上.引脚B,C和D也位于地图上,距离引脚A的距离不同.B和C距离A不到1/2英里,但D距离1英里.我想知道B和C距离A不到1/2英里.我怎么能算出来?
我想为plist文件条目分配一个布尔值.我正在做以下事情:
NSString *aBool = realBoolValue ? @"YES" : @"NO";
[myplist setValue: aBool forKey:@"boolKey"];
[myplist writeToFile: [NSHomeDirectory() stringByAppendingPathComponent: plistFilePath] atomically:NO];
Run Code Online (Sandbox Code Playgroud)
但任务永远不会.我正在做以上操作,因为以下内容不起作用:
[myplist setValue: realBoolValue forKey:@"boolKey"];
Run Code Online (Sandbox Code Playgroud)
它给出了不兼容的类型错误.我究竟做错了什么?
- 编辑---
plistFilePath初始化为
plistFilePath = [NSHomeDirectory() stringByAppendingPathComponent: @"Library/Preferences/myfile.plist"];
Run Code Online (Sandbox Code Playgroud) 我正在创建一个这样的新线程:
[NSThread detachNewThreadSelector: @selector(myMethod:)
toTarget:self withObject:filePath];
Run Code Online (Sandbox Code Playgroud)
在我做的方法中:
- (void) myMethod:(NSString*)path{
NSAutoreleasePool *pool = [NSAutoreleasePool alloc];
[UIImagePNGRepresentation(theImage) writeToFile:[path stringByAppendingString:@".png"] atomically:NO];
[pool release];
}
Run Code Online (Sandbox Code Playgroud)
但不断得到这些警告:
*** _NSAutoreleaseNoPool(): Object 0x194b1c0 of class NSConcreteMutableData autoreleased with no pool in place - just leaking
Stack: (0x305a2e6f 0x30504682 0x309084ff 0x3a0d 0x3050a79d 0x3050a338 0x9100cfbd 0x9100ce42)
*** _NSAutoreleaseNoPool(): Object 0x19014c0 of class NSCFString autoreleased with no pool in place - just leaking
Stack: (0x305a2e6f 0x30504682 0x3a30 0x3050a79d 0x3050a338 0x9100cfbd 0x9100ce42)
Run Code Online (Sandbox Code Playgroud)
是不是在被调用的方法中创建了一个NSAutoreleaseNoPool对象,然后以正确的方式释放它以使用线程化的@selector?
cocoa-touch ×8
iphone ×8
objective-c ×4
mapkit ×2
xcode ×2
codesign ×1
core-audio ×1
ios ×1
mysql ×1
php ×1
plist ×1
rest ×1
uiview ×1
web-services ×1