我的手势识别代码在iOS 4.2中运行良好,但在iOS 4.3中它不起作用.我无法在iOS 4.2到4.3中找到手势识别器的任何记录更改,但我已在iPad和模拟器中确认我的代码不再有效.
这就是我在做的事情:
在我的视图控制器的ViewDidLoad方法中,我把:
UISwipeGestureRecognizer *swipeUpGesture = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipedScreenLeft:)] autorelease];
swipeUpGesture.numberOfTouchesRequired = 2;
swipeUpGesture.direction = (UISwipeGestureRecognizerDirectionLeft);
[scrollView addGestureRecognizer:swipeUpGesture];
Run Code Online (Sandbox Code Playgroud)
在iOS 4.2中,这可以按预期工作,但在iOS 4.3中,即使我用两根手指滑动,也不会调用swipedScreenLeft.一切都编译并运行,没有错误或警告.
是否有任何可能阻止此手势识别器在iOS 4.3中工作的东西,即使它在iOS 4.2中正常工作?
另外我注意到在iOS 4.2下,如果我用两根手指触摸屏幕但没有做出正确的手势,没有任何事情会发生,但在iOS 4.3中,如果我用两根手指触摸屏幕,就好像我只触摸一个手指.就好像iOS 4.3无法识别我的应用中的多点触控事件.
另一个注意事项:我的tapGestureRecognizer在iOS 4.3中工作正常,只是swipeGestureRecognizer没有.
我已经实现了shouldAutorotateToInterfaceOrientation,一旦它运行,我的应用程序中的条款或方向更改一切正常.但是我不喜欢我的应用程序在推出时的行为.
当我以纵向方式启动我的应用程序时,它按预期打开,但是当我以横向方向启动我的应用程序时,我看到所有内容都以纵向方向加载(包括状态栏),然后我看到我的屏幕旋转到横向的动画.那个动画很好,但我不希望它在发布时显示.
当我看到大多数其他应用程序,他们似乎检测取向,因为他们推出和他们不显示在启动(仅当该设备推出时间后旋转)旋转动画.
如何确保我的应用程序以正确的方向加载,以便用户在启动时看不到旋转动画.如果用户在启动后旋转设备时只看到旋转动画,我会更喜欢它.
我有一个带有两个窗口的应用程序 - 一个主窗口和一个可以从菜单栏打开的首选项窗口.我正在尝试实现一个通知,即首选项窗口成为主窗口,以便我可以在打开时更新它,但是无论何时打开任何窗口,甚至是不同的窗口,我的通知都会触发.
在我的PrefsWindowViewController.m awakeFromNib里面我有:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didBecomeMain:)
name:NSWindowDidBecomeMainNotification
object:nil];
Run Code Online (Sandbox Code Playgroud)
在我的PrefsWindowViewController.m dealloc中,我有:
[[NSNotificationCenter defaultCenter] removeObserver:self name: NSWindowDidBecomeMainNotification object:nil];
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么当我的PrefsWindow之外的另一个窗口成为主窗口时可能会调用它?
我将我的iOS应用程序移植到Mac OS(Mountain Lion),在不久的将来在Mac App Store中出售.
iOS应用程序使用iCloud与NSUbiquitousKeyValueStore同步,这非常简单,可以很好地实现.我想知道是否可以访问Mac OS中iOS应用程序存储的数据.应用程序之间的用户默认值是相同的,因此只要可以执行此操作,这应该可以很好地工作.Mac应用程序可以访问iOS应用程序存储的iCloud NSUbiquitousKeyValueStore数据吗?