我想檢測設備的當前方向。註冊UIDeviceOrientation
所以,我用一行代碼
注:我的方向,即使我還沒有註冊它
-(IBAction) deviceOrientationChanged:(id) sender{
NSLog(@"Device Orientation= %d",[[UIDevice currentDevice] orientation]);
}
當我改變方向,按鈕上單擊事件,我得到設備方向。
但是,document說你需要先註冊它,然後使用上面的代碼。
注:在下面的代碼我已經註冊設備接收設備方向通知
-(IBAction) deviceOrientationChanged:(id) sender{
if(![[UIDevice currentDevice] isGeneratingDeviceOrientationNotifications]){
//This statement is called very time when I click on the button. I expected to execute only once.
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
}
NSLog(@"Device Orientation= %d",[[UIDevice currentDevice] orientation]);
}
所以,我不能夠通過完善的方式來獲得設備的方向得到。
它說:「除非方向通知已通過調用beginGeneratingDeviceOrientationNotifications啓用,否則此屬性的值總是返回0。如果屬性指的是UIDevice – andyPaul