IOS開發(fā)實(shí)現(xiàn)手機(jī)震動(dòng)的提示實(shí)例代碼
IOS開發(fā)實(shí)現(xiàn)手機(jī)震動(dòng)的提示實(shí)例代碼
我們都知道手機(jī)有震動(dòng)功能,其實(shí)呢,這個(gè)功能實(shí)現(xiàn)起來特別的簡單,我們只需要用到幾個(gè)函數(shù)就可以了:
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
還有就是通過canBecomeFirstResponder:設(shè)置一個(gè)第一響應(yīng)者為label,然后搖動(dòng)手機(jī)兩下,看看效果如下:
代碼如下:
HHLAppDelegate.h
#import <UIKit/UIKit.h> @class HHLViewController; @interface HHLAppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) HHLViewController *viewController; @end
HHLAppDelegate.m
#import "HHLAppDelegate.h" #import "HHLViewController.h" @implementation HHLAppDelegate - (void)dealloc { [_window release]; [_viewController release]; [super dealloc]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. self.viewController = [[[HHLViewController alloc] initWithNibName:@"HHLViewController" bundle:nil] autorelease]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; } - (void)applicationWillResignActive:(UIApplication *)application { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. } - (void)applicationDidEnterBackground:(UIApplication *)application { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } - (void)applicationWillEnterForeground:(UIApplication *)application { // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. } - (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. } - (void)applicationWillTerminate:(UIApplication *)application { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } @end
HHLViewController.h
#import <UIKit/UIKit.h> @interface HHLViewController : UIViewController @end @interface LabelForMotion : UILabel @end
HHLViewController.m
#import "HHLViewController.h" @interface HHLViewController () @end @implementation LabelForMotion - (BOOL)canBecomeFirstResponder { return YES; } @end @implementation HHLViewController - (void)viewDidLoad { [super viewDidLoad]; LabelForMotion *label = [[[LabelForMotion alloc]init]autorelease]; label.frame = self.view.bounds; label.autoresizingMask =UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; label.textAlignment = NSTextAlignmentCenter; label.text = @"Shake me"; [self.view addSubview:label]; //將標(biāo)簽設(shè)置為第一響應(yīng)者 [label becomeFirstResponder]; [label release]; } - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { NSLog(@"motionBegan"); } //震動(dòng)結(jié)束時(shí)調(diào)用的方法 - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { NSLog(@"motionEnded"); UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil message:@"地震了" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil nil]; [alert show]; [alert release]; } - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event { NSLog(@"motionCancelled"); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
其實(shí)更簡單的沒有必要搞一個(gè)類繼承自UIlabel,可以直接定義一個(gè)UIlabel的對象就行了。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
詳解iOS開發(fā)中UIPickerView控件的使用方法
這篇文章主要介紹了詳解iOS開發(fā)中UIPickerView控件的使用方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-11-11

iOS實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)的改變

iOS開發(fā)之?dāng)r截URL轉(zhuǎn)換成本地路由模塊URLRewrite詳解

iOS開發(fā)--仿新聞首頁效果WMPageController的使用詳解

IOS數(shù)字鍵盤左下角添加完成按鈕的實(shí)現(xiàn)方法