iOS 實現單個頁面支援橫豎屏,其他頁面只能豎屏
最近在自己的專案裡面 有需要做一個需求 : app中某一個頁面支援橫豎屏, 而其他頁面只能豎屏。
- 1
- 2
實現方法如下:
1 首先需要Xcode中選中支援的螢幕方向
2 Appdelegate中
.h
@property (nonatomic,assign)NSInteger allowRotate;
- 1
.m中
//此方法會在裝置橫豎屏變化的時候呼叫
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// NSLog(@"方向 ============= %ld", _allowRotate);
if (_allowRotate == 1) {
return UIInterfaceOrientationMaskAll;
}else{
return (UIInterfaceOrientationMaskPortrait);
}
}
// 返回是否支援裝置自動旋轉
- (BOOL)shouldAutorotate
{
if (_allowRotate == 1) {
return YES;
}
return NO;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
3 在需要支援橫豎屏的controller中:
viewWillApplear 中
//在檢視出現的時候,將allowRotate改為1,
AppDelegate * delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
delegate.allowRotate = 1;
- 1
- 2
- 3
viewWillDisappear中
//在檢視出現的時候,將allowRotate改為0,
AppDelegate * delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
delegate.allowRotate = 0;
- 1
- 2
- 3
寫好以上程式碼之後, 會發現一些問題: 當橫屏頁面直接點選“返回”按鈕退出的時候, 頁面依然是橫屏, 而我們需要的是僅一個頁面可以橫屏,測試需要在viewWillDisappear中加入如下程式碼:
if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {
SEL selector = NSSelectorFromString(@"setOrientation:");
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];
[invocation setSelector:selector];
[invocation setTarget:[UIDevice currentDevice]];
int val = UIInterfaceOrientationPortrait;
[invocation setArgument:&val atIndex:2];
[invocation invoke];
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
此時就可以使app僅有設定頁面支援橫豎屏了!
此時如果app要求使用者在橫屏 豎屏的模式下改變UI(橫屏與豎屏對應不同的UI), 可以在以下方法中執行
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
// do something before rotation
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
螢幕從豎屏變為橫屏時執行
}else{
螢幕從橫屏變為豎屏時執行
}
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
// do something after rotation
}
相關推薦
iOS 實現單個頁面支援橫豎屏,其他頁面只能豎屏
最近在自己的專案裡面 有需要做一個需求 : app中某一個頁面支援橫豎屏, 而其他頁面只能豎屏。 1 2 實現方法如下: 1 首先需要Xcode中選中支援的螢幕方向 2 Appdelegate中 .h @property (nonatomic,assign)NSInteger allowRota
iOS中如何實現單個頁面支援橫豎屏(其他頁面只能豎屏)
最近在自己的專案裡面 有需要做一個需求 : app中某一個頁面支援橫豎屏, 而其他頁面只能豎屏。 實現方法如下: 1 首先需要Xcode中選中支援的螢幕方向 2 Appdelegate中 .h @property (nonatomi
iOS 實現單個頁面支持橫豎屏,其他頁面只能豎屏
eth duration amp pro 如果 oid span uiwindow obj 最近在自己的項目裏面 有需要做一個需求 : app中某一個頁面支持橫豎屏, 而其他頁面只能豎屏。 1 2 實現方法如下: 1 首先需要Xcode中選中支持的屏幕方向 2
iOS 實現點選tabbar跳轉登入頁面
在APP的設計中常常有需要點選tabbar直接進行跳轉登入的操作。下面說一下需要怎麼來實現這個操作。 程式碼。 (BOOL)tabBarController:(UITabBarController )tabBarController should
ios 只讓播放視訊的 時候能夠全屏橫屏 其他全部非全屏非橫屏 目前已經測試很多 可以
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { if ([NSStringFrom
從當前頁面跳轉到其他頁面的某個地方
從index頁面跳轉到about頁面的friend-links-section-hook這個地方 index.html <a href="about.html#friend-links-sec
Activity橫豎屏切換時先看到橫屏/豎屏再變換回豎屏/橫屏
因為公司APP上的一個Bug遇到一個問題,跟了下這個問題,稍微記錄一下。 需求:當App從後臺回到前臺的時候,要彈出一個廣告頁Activity A ,而廣告頁希望是豎屏顯示的,這樣才符合引人入勝的效果咯。 開發的實現:做這個需求,之前開發的實現是,在Application中註冊A
iOS螢幕旋轉之為橫屏視訊播放增加豎屏模式
在App Store上的大部分視訊播放App中,都實現了豎屏小屏播放以顯示更多相關資訊,橫屏切換到全屏播放,這樣的互動顯得優雅而大方。最近專案裡有個這樣的需求,為全屏視訊播放加上豎屏模式。下面,讓我們一起來實現這個需求。 iOS中的方向 iOS裝置中有兩種方向,一種是裝
Web前端:如何實現選擇select下拉框選中跳轉其他頁面
option chang 前端 實現 cati onchange 下拉框選中 b- class <select onchange="window.location=this.value;"><option value="a.html">用戶管理<
Servlet中如何實現按鈕的跳轉其他頁面
方法一: 使用表單form包裝submit按鈕,將要跳轉的xxx.do 寫在表單的action中 out.print(" <form action='manager_insert.do' method='post' id='myform' >");
iOS 實現長屏截圖,scrollview,tableview截圖
通常截圖的時候,如果需要截scroll,或者tableview的時候就不能全屏截圖了。 截圖方法。 圖片儲存的回撥 程式碼部分 - (void)btnAction:(UIButton *)sender { UIImage*
微信如何實現自動跳轉到用其他瀏覽器開啟指定頁面下載APK
微信瀏覽器跳轉瀏覽器下載app解決方案 新版本微信瀏覽器中,已禁用下載APP應用,只支援開啟微信合作商APP下載,所以無法通過微信瀏覽器直接下載APP應用。列舉微信瀏覽器下載APP的種解決方案: 方案:通過Url 跳轉到手機預設瀏覽器,或者是蘋果應用商店/APP Store,在應用商店
【解決】移動端裝置·橫豎屏時頁面內容字型大小調整的問題
首先判斷是不是橫豎屏導致的問題,所以要程式碼檢驗一下。 window.orientation 物件在手機上才可生效。 <script type="text/javascript"&g
微信如何實現自動跳轉到用其他瀏覽器開啟指定頁面下載APP
微信瀏覽器跳轉瀏覽器下載app解決方案 新版本微信瀏覽器中,已禁用下載APP應用,只支援開啟微信合作商APP下載,所以無法通過微信瀏覽器直接下載APP應用。列舉微信瀏覽器下載APP的種解決方案: 方案:通過Url 跳轉到手機預設瀏覽器,或者是蘋果應用商店/APP Store,在應用商店
在servlet中實現彈出提示框,點選確認後跳轉其他頁面
PrintWriter out = response.getWriter();如果成功彈出登陸成功並跳到下一個頁面out.print("<script>alert('登入成功!');window.location.href='跳到登陸成功後的頁面'</sc
iOS 實現react-native預載入,優化第一次載入白屏問題
專案中存在多個react-native頁面入口,每個入口使用以下方法初始化: - (instancetype)initWithBundleURL:(NSURL *)bundleURL moduleName:(N
微信如何實現自動跳轉到用其他瀏覽器打開指定頁面下載APP
高度 blank 提高 宣傳 更多 很多 互聯 瀏覽器 中國移動 微信掃描二維碼安裝apk時,如何避免點擊右上角?——這個問題困擾很多App的推廣團隊。 其實自從騰訊開放平臺戰略以來,擁有中國強大互聯網資源的騰訊站在更高的戰略高度上,以自信的態度面對互聯網生態鏈,對待遵
NavigationController單個介面橫屏,其他全豎屏
由於自己沒有mac裝置,x200裝黑蘋果失敗,本文的程式碼全靠記憶,如有錯誤之處敬請指正。 最近在做一個帶有報表的iOS App開發,要求從記錄介面轉到圖表介面時從豎屏轉為橫屏。 首先在info.plist中有關於app支援的螢幕方向設定,預設支援豎屏和橫屏(ipho
dedecms 修改留言板模板 實現和其他頁面相同的佈局
用過DEDECMS的朋友都知道,dedecms留言板,問答模組急會員空間模組都不支援dedecms的常用標籤,如果用留言板或者問答的話修改起來很不方便,電商圈給大家介紹一種方法可以讓這幾個模組支援標籤,不過是要懂一點PHP的知識修改最好,在修改以前請注意要先備份一下原來的檔案
ios搜尋(可實現模糊搜尋 支援拼音檢索 首字母等)
一、搜框中輸入關鍵字的事件響應 -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{ NSLog(@"輸入的關鍵字是---%@---%lu",s