Bilinmeyen bir nedenle, iPhone 6 simülatöründeki (ve aygıtta) tüm ekran görüntüsü yöntemleriyle olası bir hata var gibi görünüyor.iPhone 6 aygıtında ve simülatöründe kırılan anlık görüntü yöntemleri
snapshotViewAfterScreenUpdates: Ben de dahil olmak üzere ekran görüntüsü yöntemi çağırmadan zaman resizableSnapshotViewFromRect: drawViewHierarchyInRect: EVET olarak ayarlanmış afterScreenUpdates ile
, ekran titriyor. HAYIR olarak ayarlanırsa, titreşim oluşmaz, ancak ihtiyacım olan işlevselliği alamıyorum.
Bu yöntemler, iPhone 6 ve 6+ dışındaki tüm diğer simülatörlerde hem iOS7.1 hem de iOS8 ile uyumludur.
Kaçınılmaz bir şekilde, storyboard'lar kullanarak yepyeni bir projeye başlıyorum ve benzer kodları denersem, titreşimi yeniden oluşturamıyorum. Burada
Ve çok basit görünüm denetleyicisi olduğu: burada
@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
Ve AppDelegate ihtimale karşı: Ben benim olmayan film şeridi projesini kullanarak titremesinin bir gif iliştirilmesi
- (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;
}
Herhangi bir yardım çok takdir edilecektir! Aşağıdaki kodu çalıştırırken Bu aynı sorunu görüyoruz