十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
小編給大家分享一下IOS如何實(shí)現(xiàn)手機(jī)震動(dòng)的提示功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),成都創(chuàng)新互聯(lián)面向各種領(lǐng)域:生料攪拌車等網(wǎng)站設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
IOS開(kāi)發(fā)實(shí)現(xiàn)手機(jī)震動(dòng)的提示實(shí)例代碼
我們都知道手機(jī)有震動(dòng)功能,其實(shí)呢,這個(gè)功能實(shí)現(xiàn)起來(lái)特別的簡(jiǎn)單,我們只需要用到幾個(gè)函數(shù)就可以了:
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
還有就是通過(guò)canBecomeFirstResponder:設(shè)置一個(gè)第一響應(yīng)者為label,然后搖動(dòng)手機(jī)兩下,看看效果如下:
代碼如下:
HHLAppDelegate.h
#import@class HHLViewController; @interface HHLAppDelegate : UIResponder @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@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í)更簡(jiǎn)單的沒(méi)有必要搞一個(gè)類繼承自UIlabel,可以直接定義一個(gè)UIlabel的對(duì)象就行了。
以上是“IOS如何實(shí)現(xiàn)手機(jī)震動(dòng)的提示功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!