पर स्नैपशॉट विधियों को तोड़ दिया गया है किसी अज्ञात कारण के लिए आईफोन 6 सिम्युलेटर (और डिवाइस) पर सभी स्क्रीनशॉट विधियों के साथ एक संभावित बग प्रतीत होता है।आईफोन 6 डिवाइस और सिम्युलेटर
snapshotViewAfterScreenUpdates: जब भी मैं सहित स्क्रीनशॉट तरीकों में से किसी भी फोन resizableSnapshotViewFromRect: drawViewHierarchyInRect:
हाँ करने के लिए सेट afterScreenUpdates साथ, स्क्रीन flickers। यदि NO पर सेट किया गया है, तो कोई झिलमिलाहट नहीं होती है, लेकिन मैं जिस कार्यक्षमता की आवश्यकता है उसे प्राप्त करने में असमर्थ हूं।
ये विधियां आईफोन 6 और 6+ को छोड़कर अन्य सभी सिमुलेटर में आईओएस 7.1 और आईओएस 8 दोनों के साथ ठीक काम करती हैं।
आश्चर्यजनक रूप से पर्याप्त है, अगर मैं स्टोरीबोर्ड का उपयोग करके एक नया प्रोजेक्ट शुरू करता हूं और समान कोड का प्रयास करता हूं तो मैं झिलमिलाहट का पुनरुत्पादन नहीं कर सकता।
और यहाँ बहुत ही सरल दृश्य नियंत्रक है:
@implementation TestSnapshotController
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Snap" style:UIBarButtonItemStylePlain target:self action:@selector(_snap)];
self.blueView = [UIView new];
self.blueView.backgroundColor = [UIColor blueColor];
self.blueView.frame = CGRectMake(100.0f, 100.0f, 100.0f, 100.0f);
[self.view addSubview:self.blueView];
}
- (void)_snap
{
[self.blueView snapshotViewAfterScreenUpdates:YES];
}
@end
यहाँ और मेरे AppDelegate सिर्फ मामले में है: मैं अपने गैर स्टोरीबोर्ड परियोजना का उपयोग कर झिलमिलाहट के एक gif संलग्न
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
TestSnapshotController *testVC = [TestSnapshotController new];
UINavigationController *rootNavVC = [[UINavigationController alloc] initWithRootViewController:testVC];
self.window.rootViewController = rootNavVC;
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
किसी भी मदद की सराहना की जाएगी!