標籤:
iPhone對搖一搖有很好的支援,總體說來就兩步:首先在試圖控制器中開啟接受搖一搖的開關然後在搖一搖觸發的制定的方法中實現你要實現的功能就好。
在 UIResponder中存在這麼一套方法
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
這就是執行搖一搖的方法。那麼怎麼用這些方法呢?
很簡單,你只需要讓這個Controller本身支援搖動
同時讓他成為第一相應者:
- (void)viewDidLoad
{
[superviewDidLoad]; //開啟搖一搖功能
[[UIApplicationsharedApplication]setApplicationSupportsShakeToEdit:YES]; //讓當前控制器成為第一響應者 [self
becomeFirstResponder];}然後去實現那幾個方法就可以了- (void) motionBegan:(UIEventSubtype)motionwithEvent:(UIEvent
*)event
{
//檢測到搖動
}
- (void) motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent*)event
{
//搖動取消
}
- (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent*)event
{
//搖動結束
if(event.subtype == UIEventSubtypeMotionShake) {
//somethinghappens
}
}
iOS之搖一搖功能實現