用button自定义MKAnnotation标注泡泡

我正在开发应用程序,其中用户通过GPS进行本地化,然后询问他是否位于特定位置。 为了证实这一点,标注泡沫马上提交给他,问他,如果他在特定的地方。 由于有很多类似的问题,我可以做自定义标注泡泡: 我的问题:button不是“可点击”我的猜测:因为这个自定义标注高于标准标注泡泡,我不得不把它放在负面的“框架”,因此button不能被点击。 这是我的didSelectAnnotationView方法 – (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view { if(![view.annotation isKindOfClass:[MKUserLocation class]]) { CalloutView *calloutView = (CalloutView *)[[[NSBundle mainBundle] loadNibNamed:@"callOutView" owner:self options:nil] objectAtIndex:0]; CGRect calloutViewFrame = calloutView.frame; calloutViewFrame.origin = CGPointMake(-calloutViewFrame.size.width/2 + 15, -calloutViewFrame.size.height); calloutView.frame = calloutViewFrame; [calloutView.calloutLabel setText:[(MyLocation*)[view annotation] title]]; [calloutView.btnYes addTarget:self action:@selector(checkin) forControlEvents:UIControlEventTouchUpInside]; calloutView.userInteractionEnabled = YES; view.userInteractionEnabled = YES; [view addSubview:calloutView]; } […]

如何使用AVFoundation裁剪video

我正在尝试使用AVFoundation裁剪正在录制的video。 所以,可以说我创build一个AVCaptureVideoPreviewLayer并设置框架为300×300。 AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session]; captureVideoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; captureVideoPreviewLayer.delegate = self; captureVideoPreviewLayer.frame = CGRectMake(0,0, 300, 300); [previewView.layer addSublayer:captureVideoPreviewLayer]; 用户看到裁剪的video。 我想按照用户查看的方式保存video。 使用AVCaptureMovieFileOutput,video显然得到保存而不裁剪。 我正在考虑使用AVCaptureVideoDataOutput来拦截帧并自己裁剪,但是我想知道是否有更高效的方法来实现这一点,或许使用AVExportSession并使用AVVideoComposition。 任何指导将不胜感激。

UIAlertView首先不赞成使用IOS 9

我已经尝试了几种使用UIAlertController而不是UIAlertView的方法。 我尝试了几种方法,但无法使警报操作起作用。 这里是我的代码在IOS 8和IOS 9中正常工作,但显示不赞成使用的标志。 我尝试了下面的优雅build议,但是我不能在这方面使它起作用。 我需要提交我的应用程序,这是最后要解决的问题。 感谢您的任何进一步的build议。 我是一个新手。 #pragma mark – BUTTONS ================================ – (IBAction)showModesAction:(id)sender { NSLog(@"iapMade: %d", iapMade3); // IAP MADE ! =========================================== if (!iapMade3) { //start game here gamePlaysCount++; [[NSUserDefaults standardUserDefaults]setInteger:gamePlaysCount forKey:@"gamePlaysCount"]; NSLog(@"playsCount: %ld", (long)gamePlaysCount); if (gamePlaysCount >= 4) { UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Basic" message: THREE_PLAYS_LIMIT_MESSAGE delegate:self cancelButtonTitle:@"Yes, please" otherButtonTitles:@"No, thanks", […]

模糊图像的特定部分(矩形,圆形)?

我想模糊矩形或圆形的图像。 谷歌search后,我发现很容易模糊整个图像,但很难模糊图像的特定部分(矩形,圆形)。 所以怎么可能? 提前致谢

UICollectionView设置列数

我刚开始学习UICollectionViews。 我想知道如果有人知道如何指定一个collectionview中的列数。 默认设置为3(iPhone /人像)。 我已经看了文档,似乎无法find一个简洁的答案。

快速创build和播放声音

所以我想要做的就是快速创build和播放声音,当我按下button时,我知道如何在Objective-C中做到这一点,但有谁知道如何在Swift中? Objective-C就是这样: NSURL *soundURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"mysoundname" ofType:@"wav"]]; AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL, &mySound); 然后玩它,我会做的: AudioServicesPlaySystemSound(Explosion); 有谁知道我能做到这一点?

Xcode 4.2如何将一个项目包含到另一个项目中?

我一直在search,但找不到一个清晰而简单的解释,如何将一个XCode项目及其所有子类包含到另一个项目中。 我经常在网上下载的示例项目中看到类似的东西,但不知道如何自己做。 在XCode中,随着.h和.m文件以及文件夹,还有一个全新的项目,从一个蓝色的xcode项目图标开始,这个图标可以扩展以包含项目中的所有内容。 请,有人可以一步一步向我解释我需要做什么来添加一个XCode项目到另一个? 我已经看到了很多像“header search paths”这样的内容,但是这并没有说明什么。 更新:在重新阅读文档后,我意识到要包含的项目必须拖到父项目的BLUE项目图标上。 常规来源可以拖到任何地方,但项目必须拖到项目上。 谢谢!

在iOS中观看内存使用情况

有什么办法可以找出iOS中有多less内存? 我知道当可用内存变低时,系统会通过低内存警告。 然而,我的应用程序有一些点,一个线程将执行一个复杂的任务,有时这个任务耗尽足够的内存,它只是由操作系统终止(我的应用程序可以从互联网下载图片,我缩小到一个小大小…如果用户下载一个非常大的图像,我的应用程序耗尽内存,只是“poof”)。 让App自发终止显然是一个糟糕的用户体验。 有没有什么方法可以在我即将耗尽内存的时候find解决办法呢? 我想我可以把任务放在一个单独的线程上,也许系统会给主线程发送一个低内存警告,但这看起来很复杂,甚至不能保证工作。 谢谢! 罗恩

目标C iPhone开发中的“委托”是什么?

目标C iPhone开发中的“委托”是什么?

你如何从视图控制器以编程方式绘制一条线?

我有一个UIViewController 。 我想在其中一个以编程方式创build的视图中画一条线。 看起来很简单,但我还没有find可用的示例代码。