मैं रेटिना डिस्प्ले पर चलाने के लिए avTouch नमूना कोड ऐप प्राप्त करने का प्रयास कर रहा हूं। क्या किसी ने ऐसा किया है?ओपनजीएल ईएस रेटिना समर्थन
CALevelMeter कक्षा में, मैं निम्नलिखित की कोशिश की है:
- (id)initWithCoder:(NSCoder *)coder {
if (self = [super initWithCoder:coder]) {
CGFloat f = self.contentScaleFactor;
if ([self respondsToSelector:@selector(contentScaleFactor)])
{
self.contentScaleFactor = [[UIScreen mainScreen] scale];
}
f = self.contentScaleFactor;
_showsPeaks = YES;
_channelNumbers = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_vertical = NO;
_useGL = YES;
_meterTable = new MeterTable(kMinDBvalue);
[self layoutSubLevelMeters];
[self registerForBackgroundNotifications];
}
return self;
}
और यह contentScaleFactor लिए "2" सेट। बढ़िया, इसकी उम्मीद थी। लेकिन फिर लेआउटस्यूब्यूज में, कैवेलवेमीटर फ्रेम अभी भी 1/2 है जो यह होना चाहिए।
कोई भी विचार?
लेकिन रेटिना डिस्प्ले उच्च रिज़ॉल्यूशन के लिए फ्रेम आकार को दोगुना नहीं करता है? मैंने जो कोड उल्लेख किया है उसे जोड़ने के बाद भी, मुझे अभी भी केवल एक मीटर मिलता है जो 1/2 ऊंचाई है। ओपनजीएल मीटर के लिए यह केवल मामला है। UIView मीटर रेटिना के साथ ठीक काम करता है। मैं उलझन में हूं। – Bryan
@ ब्रायन - एव टच नमूना कोड को देखते हुए, ऐसा प्रतीत होता है कि ऐप्पल ने जीएलएलवेल मीटर में '_drawView' लागू करने के तरीके में एक त्रुटि की है। वे ओपनजीएल में चीजों के आकार निर्धारित करने के लिए, बिंदुओं में मौजूद दृश्य की सीमाओं का उपयोग कर रहे हैं, जब इसके बजाय उन्हें '_backingWidth' और' _backingHeight' इंस्टेंस चर का उपयोग करना चाहिए। '_backingWidth' और' _backingHeight' के साथ सीमाओं के आकार और ऊंचाई के संदर्भों को बदलें और यह रेटिना डिस्प्ले पर ठीक से खींचेगा। मैं नमूना कोड पर एक बग रिपोर्ट दर्ज करूंगा। –
@ ब्रायन - मैंने कोड को स्थान दिया है जिसे मेरे उत्तर में संपादन के भीतर बदला जाना चाहिए। –