fb_license

技術標籤

@selector (1) 初使化區塊 (1) 物件 (1) 物件導向 (2) 型別 (4) 封裝 (1) 流程控制 (1) 陣列 (3) 推論型別 (2) 實機測試 (1) 蓋索林(gasolin) (1) 模組 (1) 憑證 (1) 轉型 (1) 羅康鴻 (121) 類別 (1) 變數 (5) Accelerometer (1) ActiveRecord (1) Activity (1) AFNetworking (1) alloc (1) Android (3) Animation (1) App (1) App ID (1) APP上傳 (1) ASP.NET (1) AVAudioPlayer (1) block (1) C# (2) class (1) CLLocationManager (1) CLLocationManagerDelegate (1) CMMotionManager (4) Controller (1) delegate (1) DELETE語法 (1) Device Motion資料 (1) Dialog (1) DropDownList (1) dynamic language (2) Facebook SDK (9) FBRequest (5) FBRequestConnection (2) FMDB (1) Gesture Recognizers (6) GROUP BY (2) Gyro (1) HAVING (1) IBAction (1) IBOutlet (1) id (3) inheritance (1) init (1) Insert (1) instance variable (1) Interface Builder (1) iOS (70) iOS idea (7) iOS Introduction (1) Layout (1) Magnetometer (1) Menu (2) Method (2) MKMapView (1) MKPointAnnotation (1) MS SQL (5) Nil (1) NSArray (1) NSDictionary (1) NSError (1) NSFileManager & .plist (1) NSMutableArray (1) NSMutableDictionary (1) NSNotificationCenter (1) NULL (1) object (2) Objective-C (16) Objective-C idea (1) ORDER BY (1) Parameter (1) property (1) protocol (2) Provisioning (1) Proximate Sensor (1) Q and A (2) R類別 (1) Rails (9) RESTful SOA (9) Ruby (8) Scene (1) SEELECT (1) Segue (2) SEL (1) SELECT語法 (1) Shake (1) Simulator (1) SOA (8) SQL (6) SQL Server (5) SQL函數 (1) SQL彙總函數 SQL (1) SQLite (1) Storyboard (1) Style (1) Swift (1) Table (1) target & action (1) Theme (1) Toast (1) TRUNCATE TABLE語法 (1) UIActionSheet (1) UIActionSheetDelegate (1) UIActivityIndicatorView (1) UIAlertView (1) UIBarButtonItem (1) UIButton (1) UICollectionView (1) UICollectionViewDataSource (1) UIControl (9) UIDatePicker (1) UIImage (1) UIImagePickerController (2) UIImagePickerControllerDelegate (2) UIImageView (1) UILabel (1) UILongPressGestureRecognizer (1) UINavigationController (2) UIPanGestureRecognizer (1) UIPinchGestureRecognizer (1) UIProgressView (1) UIResponder (1) UIRotationGestureRecognizer (1) UISegmentedControl (1) UISlider (1) UIStepper (1) UISwipeGestureRecognizer (1) UISwitch (1) UITabBarController (1) UITableView (1) UITableViewDataSource (1) UITapGestureRecognizer (1) UITextField (1) UITextFieldDelegate (1) UITextView (2) UITextViewDelegate (1) UIToolBar (1) UIView (8) UIWebView (1) UPDATE語法 (1) var (2) VB.NET (7) View (4) WHERE子句 (1) XML (1)

2014/06/15

[iOS] 距離感應器


我是距離感應器,可以用來感應是否有物件接近或離開


接近時…

離開時…



第1步:建立一個名為"ProximateSensor"專案。

第2步:建立距離感應器變化時呼叫的方法 - proximitySensorChange:
  • 於ViewController.m檔中準備flag屬性
ViewController.m
  @interface ViewController () { BOOL flag; } @end
  • 實作proximitySensorChange:方法,當感應器變化時變更flag的值,以表示物件接近或離開
ViewController.m
  //實作當物體接近或離開時, //被呼叫的方法 -(void)proximateSensorChange:(id)notification { flag = !flag; if(flag) { //接近時背景變為藍色 [self.view setBackgroundColor:[UIColor blueColor]]; } else { //離開時變回白色 [self.view setBackgroundColor:[UIColor whiteColor]]; } }


第3步:監聽距離感應器變化變化訊息
  • 於ViewController.h檔中的viewDidLoad方法中,透過NSNotificationCenter監聽UIDeviceProximityStateDidChangeNotification訊息,並在收到訊息傳送proximitySensorChange:訊息給self
ViewController.m
  - (void)viewDidLoad { [super viewDidLoad]; flag = false; //開啟距離感應器 [[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; //若proximityMonitoringEnabled回傳YES, //表示此裝置有距離感應器,且成功開啟 if([UIDevice currentDevice].proximityMonitoringEnabled == YES) { //取得NSNotificationCenter NSNotificationCenter * notificationCenter = [NSNotificationCenter defaultCenter]; //監聽UIDeviceProximityStateDidChangeNotification訊息, //並在收到訊息後傳送proximateSensorChange:訊息給self [notificationCenter addObserver:self selector:@selector(proximateSensorChange:) name:UIDeviceProximityStateDidChangeNotification object:Nil]; } }

第4步:執行
  • 實機執行時,接近時會變為藍色,離開時變回白色
接近時…

離開時…




檔案連結:ProximateSensor.zip