मैं एक आईफोन एप्लिकेशन पर काम कर रहा हूं जो टाइल वाले मानचित्र प्रदर्शित करता है। मैं वर्तमान में एक UIScrollView में एक CATiledLayer उपयोग कर रहा हूँ:iphone CATiledLayer fadeDuration को कैसे बदलें?
MyTiledDelegate *delegate=[[MyTiledDelegate alloc] initWithMapLayer:map];
tileLayer = [CATiledLayer layer];
tileLayer.delegate = delegate;
[scrollView.layer addSublayer:tileLayer];
[tileLayer setNeedsDisplay];
मैंने लिखा और अपने खुद के प्रतिनिधि जो इतनी तरह ड्रा परत विधि लागू करता सेट:
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx{
CGRect rect =CGContextGetClipBoundingBox(ctx);
CGFloat x = fabs(round(rect.origin.x/tileSize));
CGFloat y = fabs(round(rect.origin.y/tileSize));
Tile *tile = [map getTileForMapZoom:z x:x y:y];
CGImageRef img=[tile getRealImage];
CGContextDrawImage(
ctx,
CGRectMake(tile.x*tileSize,tile.y*tileSize, tileSize,tileSize) ,
img);
}//edited for brevity
मैं CAtiledLayer के डिफ़ॉल्ट व्यवहार से नाराज हूं टाइल खींचा जाने के बाद fadein करने के लिए। इसके अलावा, कभी-कभी फेडेन पूरा नहीं होता है (यह 90 या 9 5% अस्पष्टता पर बंद हो जाता है)।
मैं कैसे बदल सकता हूं या (अधिमानतः) फेडेन एनीमेशन को हटा सकता हूं?
मैं कोई लाभ नहीं हुआ, मेरे CATiledLayer उदाहरण के speed
और duration
गुणों के साथ खेला। मैं tiledLayer पर कोई एनीमेशन सेट नहीं है। [tiledLayer removeAllAnimation]
या तो कुछ भी नहीं बदलता है।
किसी भी पॉइंटर्स के लिए धन्यवाद।
कोई अवधि निर्धारित नहीं है या ऋणात्मक संख्या पर सेट होने पर फीड अवधि 0.25 तक डिफ़ॉल्ट हो जाती है। वैसे भी ऐसा प्रतीत नहीं होता है कि मैं * फीका * नहीं ढूंढ सकता। – catsby
हाय सबको। आपके उत्तरों के लिए धन्यवाद। वे समस्या को ठीक करते हैं। मैंने उप-वर्ग में ओवरराइड करने के बावजूद, लेकिन उम्मीद की थी कि एक और शानदार तरीका था जिसमें अभी तक एक और वर्ग बनाने में शामिल नहीं था। मुझे लगता है कि मैं CATiledLayer प्रतिनिधि को CATiledLAyer subclass बना देगा। एक बार फिर धन्यवाद। –
hi nico_h क्या आप मुझे बता सकते हैं कि आपने अपनी समस्या को कैसे ठीक किया है। मुझे भी एक ही समस्या का सामना करना पड़ रहा है। सबक्लास का उपयोग किये बिना आपने इसे कैसे हासिल किया? – CKT