搖一搖

對于搖一搖功能 iOS 中已經(jīng)提供了接口.直接調(diào)用就好了.
實現(xiàn)步驟:
1). 監(jiān)聽搖一搖方法

// 搖一搖開始
- (void)motionBegan:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event NS_AVAILABLE_IOS(3_0);
// 搖一搖結(jié)束
- (void)motionEnded:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event NS_AVAILABLE_IOS(3_0);
// 搖一搖取消
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event NS_AVAILABLE_IOS(3_0);

2). 實現(xiàn)下面的方法用于解決搖一搖失效的情況.(ps: 使用 Xcode6.x 后創(chuàng)建的項目,僅僅實現(xiàn)第一步監(jiān)聽就可以實現(xiàn),沒有遇到這種問題).

- (BOOL)canBecomeFirstResponder {
    return YES;
}

附:

如果多個控制器都需要搖一搖功能的話.例如我們的項目要求在登錄后,每個界面都可以進行搖一搖.先看一下控制器層級關(guān)系.也算是比較常規(guī)的

層級關(guān)系1

層級關(guān)系2

由于監(jiān)聽搖一搖的是控制器本身 當推出控制器后,功能會受到影響.可以考慮到繼承.將方法寫到父控制器中. 此功能同樣適用于父子控制器.由于各個navi 都是使用addChildViewController:如果子控制器沒有實現(xiàn)方法,會實現(xiàn)父控制器的方法.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容