想要:如何可靠地,一致地select一个MKMapView注释

在调用MKMapView的setCenterCoordinate:animated:方法(没有animation)之后,我想调用selectAnnotation:animated 🙁带有animation),以便注释从新集中的图钉popup。 现在,我只需要注意mapViewDidFinishLoadingMap:然后select注释。 但是,这是有问题的。 例如,当不需要加载额外的地图数据时,此方法不会被调用。 在这些情况下,我的注释不被选中。 🙁 很好。 我可以在设置中心坐标后立即调用它。 啊,但在这种情况下,有可能有地图数据加载(但尚未完成加载)。 我可能会过早地冒这个风险,animation最多只会变成斑点。 因此,如果我理解正确的话,这不是一个知道我的坐标是否可见的问题,因为它可能会散布几乎一定距离,并且必须加载新的地图数据。 相反, 这是一个知道是否需要加载新的地图数据,然后采取相应的行动。 任何关于如何完成这个任务的想法,或者如何在地图视图重新居中之后(可靠地)select一个注释到注释所在的坐标上? 线索赞赏 – 谢谢!

触摸UIView上的事件

有没有人有任何示例代码来检测dynamic创build的UIView触摸? 我已经findtouchesBegan的一些引用,但无法弄清楚如何实现它…

在界面构build器中使用自定义字体

我search了这个网站,但是我发现没有答案的问题。 我已经加载了一个自定义字体到我的Xcode项目。 [UIFont fontWithName:@"Laconic-Light" size:19]作品。 但是界面生成器不喜欢字体。 我不能使用IB,它总是显示默认的字体。 有没有办法告诉IB可以使用字体?

UIView的。 为什么在家长的范围之外的子视图没有接触到?

我有一个简单的 – 微不足道的UIView父/子层次结构。 一位家长(UIView)。 一个孩子(UIButton)。 父母的边界比其小,所以孩子的一部分超出了父母的边界框。 问题如下:父母的bbox外的孩子的那些部分不会接触到触摸。 只在父母的bbox内轻敲允许子button接收触摸。 有人可以请build议一个修复/解决方法? UPDATE 对于那些下面的问题,这里是我实施的解决scheme@Bastians最好的答案: – (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event { BOOL isInside = [super pointInside:point withEvent:event]; // identify the button view subclass UIButton *b = (UIButton *)[self viewWithTag:3232]; CGPoint inButtonSpace = [self convertPoint:point toView:b]; BOOL isInsideButton = [b pointInside:inButtonSpace withEvent:nil]; if (isInsideButton) { return isInsideButton; } // if (YES […]

如何使用AFNetworking比较SSL证书

在我的iPhone应用程序中,我使用带有自签名SSL证书的https连接从服务器下载合理的数据(用户名和密码)。 这个应用程序仅供私人使用,并不意味着生产。 我正在使用AFNetworkingpipe理https连接,但是,由于我的证书没有从CA签名,为了使其工作,我不得不添加以下内容到AFURLConnectionOperation类的头部: #define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 但有了这个我的应用程序将允许任何证书。 有没有办法只允许从我的服务器的证书,可能捆绑在应用程序,并与服务器提供的证书在HTTPS连接提供的证书进行比较? 如果可能的话,在安全方面会有什么显着的优势吗? 我对安全非常陌生,我有些困惑。

实现以编程方式生成的视图的自动布局

我有一个应用程序的视图是以编程方式生成的。 例: -(void)loadView { [super loadView]; // SET TOP LEFT BTN FOR NEXT VIEW UIBarButtonItem *topLeftBtn = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil]; self.navigationItem.backBarButtonItem = topLeftBtn; [topLeftBtn release]; // programmatically set up the view for cart tableView CGRect iouTableViewFrame = CGRectMake(0, 0, 320, 348); iouTableView = [[UITableView alloc]initWithFrame:iouTableViewFrame style:UITableViewStylePlain]; [[self iouTableView] setDelegate:self]; [[self iouTableView] setDataSource:self]; […]

计算贴图时,如果在“叠加”贴图集之外的情况下显示在MapRect中

我正在研究一个使用MKOverlay视图的应用程序,将我自己的自定义地图放在Google底图上。 我一直在使用苹果公司出色的TileMap示例代码(来自WWDC 2010)作为指导。 我的问题 – 当“overzoomed”到比我生成的tile组更深的细节级别时,代码不显示任何内容,因为在计算的Z级没有可用的tile。 我想要的行为 – 当“超越”应用程序应该不断放大最深的瓷砖水平。 覆盖层变得模糊是一种很好的用户体验 – 覆盖层消失是一个非常糟糕的体验。 这里是返回要绘制的瓷砖的代码 – 我需要弄清楚如何修改这个来限制Z-深度,而不会破坏为叠加瓷砖计算的框架的缩放比例。 有什么想法吗??? – (NSArray *)tilesInMapRect:(MKMapRect)rect zoomScale:(MKZoomScale)scale { NSInteger z = zoomScaleToZoomLevel(scale); // PROBLEM: I need to find a way to cap z at my maximum tile directory depth. // Number of tiles wide or high (but not wide * high) NSInteger […]

如何在CALayer上进行转换?

在写这个问题之前,我已经 有Affine转换观点的经验 阅读Quartz 2D Programming Guide中的Transforms文档 看到这个详细的CALayer教程 从Github下载并运行LayerPlayer项目 不过,我仍然无法理解如何在图层上进行基本的变换。 寻找翻译,旋转和缩放的解释和简单的例子已经很困难。 今天,我终于决定坐下来,做一个testing项目,并把它们弄清楚。 我的答案在下面。 笔记: 我只做Swift,但如果别人想要添加Objective-C代码,请成为我的客人。 在这一点上,我只关心理解二维变换。

如何在Xcode 5及更高版本中删除派生数据和清理项目?

是否有我可以遵循的程序,包括在terminal中运行脚本,删除派生数据文件夹下的所有文件,并可靠地清理项目? 有时,项目的资产并不总是被更新到我的模拟器或设备。 这大部分是反复试验,当我发现一个旧的资产进入testing版本时,已经太晚了,更别提尴尬了! 我已经看了这个问题,但它似乎有点过时: 如何清空caching和清理所有目标Xcode 4 我也检查了这个问题,但我不想在Organizer中浪费时间,如果我不是绝对需要: 如何在Xcode6中“删除派生数据”? 我已经看了其他的post,但没有发现任何可以解决可靠清理项目的问题,并节省了一个脚本的时间。

子视图滑动animation,iphone

我有一个UIview包含两个UIButtons。 -(void)ViewDidLoad { geopointView = [[UIView alloc] initWithFrame:CGRectMake(0, 350, 120, 80)]; geopointView.backgroundColor = [UIColor greenColor]; UIButton *showGeoPointButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; showGeoPointButton.frame = CGRectMake(0, 0, 120, 40); showGeoPointButton.titleLabel.font = [UIFont systemFontOfSize:13.0]; [showGeoPointButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [showGeoPointButton addTarget:self action:@selector(showPlaces:) forControlEvents:UIControlEventTouchUpInside]; UIButton *SaveButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain] SaveButton.frame = CGRectMake(0, 40, 120, 40); SaveButton.titleLabel.font = [UIFont systemFontOfSize: […]