我一直在尝试解决毛刺表视图滚动性能问题.通过Instrument的Time Profiler运行它表明花费了相当多的时间将NSAttributedString设置为UILabel.这是一个已知的问题吗?如果是这样,有解决方法吗?
我看到一些报道称在iOS8上创建NSAttributedString的速度非常慢,并且在iOS9上有所改进,但它是否也将它设置为包含UI元素的速度慢?在iOS 8下,NSAttributedString性能更差
下面是我的分析屏幕截图.请注意,视图模型不会动态创建属性字符串,因此您看到的成本完全来自赋值.当然,UILabel可以执行昂贵的操作,我不知道如何绕行.
我感谢任何帮助.
基于我在这个SO问题上找到的内容(在MKMapView的叠加上触摸事件),我已经实现了一种拦截MKPolygon上的轻击手势的方法.
它在我们的应用程序中运行良好,该应用程序是使用Xcode 4.6.3针对iOS 6构建的.但是当我在iOS 7设备上尝试它时停止工作.
特别
CLLocationCoordinate2D coord = [neighborhoodMap_ convertPoint:point
toCoordinateFromView:neighborhoodMap_];
// We get view from MKMapView's viewForOverlay.
MKPolygonView *polygonView = (MKPolygonView*) view;
CGPoint polygonViewPoint = [polygonView pointForMapPoint:mapPoint];
BOOL mapCoordinateIsInPolygon = CGPathContainsPoint(polygonView.path,
NULL,
polygonViewPoint,
NO);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,即使给定的坐标在MKPolygonView中,对CGPathContainsPoint的调用也不再返回YES.不确定是否有人遇到过这个问题,但我很感激您的任何见解.
谢谢!