Không đúng là bạn không thể tìm ra định hướng khởi chạy, đúng là đau ở phía sau để làm như vậy.
đây là những gì bạn cần làm.
UIViewController đầu tiên của bạn cần phải có một số logic đặc biệt để thu thập thông tin bạn muốn.
thậm chí bạn có thể muốn tạo UIStartupController chỉ dành cho những mục đích này nếu điều đó quan trọng đối với luồng của bạn.
trong trường hợp dự án của tôi, chúng tôi đã có bộ điều khiển khởi động như vậy.
tất cả bạn cần là đoạn mã sau
-(id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.launchOrientation = UIDeviceOrientationUnknown;
}
return self;
}
-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration
{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
if (self.launchOrientation == UIDeviceOrientationUnknown && duration > 0)
self.launchOrientation = UIInterfaceOrientationPortrait;
else
self.launchOrientation = toInterfaceOrientation;
}
về cơ bản, nếu chúng tôi không tung ra trong UIInterfaceOrientationPortrait, trình tự luân chuyển callback đầu tiên sẽ thực sự tiết lộ định hướng khởi động.
nếu được khởi chạy trong UIInterfaceOrientationPortrait, thì chúng ta cần phải kiểm tra xem thời lượng của vòng xoay đầu tiên có khác 0 hay không, và sau đó chúng ta biết rằng nó đã được phóng từ chân dung.
để được trợ giúp về đĩa hoặc kết quả nhanh chóng, hãy xem ..... http://stackoverflow.com/questions/5888016/ios-device-orientation-on-load/32758397#32758397 này – jenish