首頁 > 後端開發 > php教程 > iOS 開發百問(8)

iOS 開發百問(8)

黄舟
發布: 2023-03-05 06:44:02
原創
1281 人瀏覽過

90、找不到Profile 錯誤「CodeSign error: no provisioning profile at path '/Users/yourname/Library/MobileDevice/ProvisioningProfiles/F87A055A-EC0D-4F19-A015-57AB09DEBECB. ,使用View ->Version Editor -> Show Version Editor(或使用工具列上的「
iOS 開發百問(8)」按鈕)。在目前版本(即左邊的文字窗格)中編輯,搜尋「F87A055A-EC0D-4F19-A015-57AB09DEBECB」字串,然後將所有的「"PROVISIONING_PROFILE[sdk=iphoneos*]" ="F87A055A-EC0D-4F129 -A015-57AB09DEBECB";」行刪除。
91、iOS 7 中,導覽列重疊在 ViewController 的 view 之上(即 view 上移了 44 像素)
將導覽控制器的 Top Bar 設定為一種「Opacque ...」(不透明)類型。
92、為什麼導覽列的righBarButtonItems 顯示的排列順序跟它們加入時的相反?
rightBarButtonItems 中的 item 在加入時是從右向左加入的。
假設我們這樣加入3個按鈕到 rightBarButtonItems 中:
[self.navigationItem setRightBarButtonItems:@[b1,b2,b3]animated:NO]; 則你看到的3個按鈕排列順序為:b3,b2,b1。
93、為什麼有時候用 OTA 方式安裝程式後會多出一個「正在安裝...」圖標,並無法刪除該圖標?
該問題只在 iOS 7 下存在。如下圖所示:



iOS 開發百問(8)

其中,「網路助理」是程式安裝完出現在桌面上的圖標,「正在安裝...」是安裝過程中顯示的圖標,這個圖標在安裝完成後仍然存在,且使用者無法刪除。

這是由於安裝是的描述檔( .plist 檔案)和 .ipa 檔案中的 bunndle id 不一致導致的。解決辦法,修改專案的Bundle ID為 .plist 檔案中的Bundle ID,編譯出新的 .ipa 文件,然後重新在裝置上安裝此 .ipa 檔案。此時「正在安裝...」圖示即可刪除。
94、無意中修改了SDK 的頭文件,Xcode報告“'xxx.h' hasbeen modified since the precompiled header was built”
Clean,仍然無法編譯,在關閉Xcode 時,Xcode 提示文件不存在,無法自動保存,並不允許退出。使用“強制退出...”關閉 Xcode,Clean,重新編譯成功。
95、iOS 7.1下in-house發布無法安裝app,報告「Could not load non-https manifest URL」
將部署所使用的manifest.plist檔案放到https 伺服器上,並且將manifest URL 由原來的http 位址改為https 地址。
96、如何讓 UIButton 的 image 位於 title 的右邊?
預設情況下UIButton 的image 位於title 左邊:

iOS 開發百問(8)但有時候你可能希望是這樣的:

iOS 開發百問(8)則需要使用到setImageEdgeInsets 方法:

rrrereee UITableViewDelegate 中的willDisplayHeaderView方法。

float width = _button.bounds.size.width;
[_buttonsetImageEdgeInsets:UIEdgeInsetsMake(0, width-_button.imageView.bounds.size.width,0, 0)];
[_buttonsetTitleEdgeInsets:UIEdgeInsetsMake(0, -_button.imageView.bounds.size.width+5,0, 0)];
登入後複製

98、客製化 search bar的背景色

- (void)tableView:(UITableView *)tableViewwillDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
if([viewisKindOfClass:[UITableViewHeaderFooterView class]]){
UITableViewHeaderFooterView *tableViewHeaderFooterView =(UITableViewHeaderFooterView *) view;
tableViewHeaderFooterView.contentView.backgroundColor = [UIColorclearColor];
tableViewHeaderFooterView.textLabel.font=[UIFont systemFontOfSize:13];
tableViewHeaderFooterView.textLabel.textColor=[UIColor blackColor];
}
}
登入後複製

99、Autolayout 下 UIScrollView 不會滾動
只有當 UIScrollView 的 ContentSize 大於 UIScrollView 的 frame 大小,ScrollViewView.

但由於 constraints 的影響, 設定 ContentSize 往往無效,因此UIScrollView不可滾動。我們可以實作 viewDidLayoutSubviews 方法,在該方法中設定 ContentSize :


for (UIView *subview in self.searchBar.subviews)
{
if([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
[subview removeFromSuperview];
break;
}
}
self.searchBar.backgroundColor = [UIColor colorWithWhite:0.85 alpha:1];
登入後複製

100、在頭檔中出現某個type「Unknown type name」
其實該 type 所在的框架或函式庫已被引用。例如出現錯誤“Unknown type name CGPoint”,而 CGPoint 所在的框架 CoreGraphics 已被專案正確引用了。

這種錯誤是由於「交叉頭檔引用」所導致的。典型的錯誤是,一個頭檔(例如 a.h)在 .pch 檔案中包含了。而 .pch 檔案在編譯任何 .m 檔案中都會自動被包含。 因此如果要在.pch 文件中包含a.h 文件,正確的做法是用#ifdef__OBJC__ 巨集:


- (void)viewDidLayoutSubviews {
_scrollView.contentSize=CGSizeMake(_scrollView.frame.size.width,_scrollView.frame.size.height+60);
}
登入後複製


以上就是iOS 開發百問(8)的內容,更多相關內容請關注PHP中文網(www. php.cn)!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板