iOS 小問題解決方案 - 01

前言:把自己平常寫項目遇到的一些問題的解決方案總結到這里,方便自己以后查看,也希望對看文章的你有一定的幫助

查看目錄
01 解決UICollectionView點擊手勢與didSelected方法沖突
02 id特性的運用
03 標簽控制器標簽欄設置背景
04 設置圖片的渲染模式
05 UITableViewCell的點擊效果設置
06 UITableView 滑動遇到的小問題
07 運行突然出現you don’t have permission to view it錯誤
08 設置UITableViewCell的分割線最簡單的方法
09 利用導航欄跳轉時隱藏底部的tabBar欄
10 直接設置導航欄中間標題的字體大小和顏色
11 如何設置自定義字體
12 AFNetWorking 請求數據報”Request failed: unacceptable content-type: text/plain” 錯誤解決方法
pragma mark -- 01 解決UICollectionView點擊手勢與didSelected方法沖突
  • 做的小項目中遇到了給UICollectionView添加了點擊手勢而cell的代理方法didSelect不響應了,上網查了下解決方法
1.首先你得遵守 UIGestureRecognizerDelegate,設置代理 _tap.delegate = self;
2.實現代理方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if (touch.view != self.collectionView) {
        return NO;
    }
   return YES;
}
這個代理方法會攔截你的點擊手勢,先進行判斷是否進行手勢事件
pragma mark — 02 id特性的運用
  • 先說說問題情況,就是我自定義了三個textField,都有一個暴露給外界調用的一個方法 - (void)initiaText; 然后在textField的代理方法中我想調用這個方法而又不去寫具體的自定義類名
//三個自定義的UITextField
 _flagField.delegate = self;
 _birthdayField.delegate = self;
 _cityField.delegate = self;

//代理方法:(笨寫法)
- (void)textFieldDidBeginEditing:(FlagField *)textField
{
  [textField initialText];
} 
//利用id特性:能調用任何對象的方法—我們就不用去修改代理的父類名稱了
- (void)textFieldDidBeginEditing:(id)textField
{
  [textField initialText];
}
pragma mark -- 03 標簽控制器標簽欄設置背景
  • 對標簽欄設置背景色的解決
首先如果直接設置tabBar的背景色,系統會自動渲染成半透明的
self.tabBar.backgroundColor = [UIColor orangeColor];
有兩種解決方案
1.可以通過設置背景圖片的方式給標簽欄設置背景顏色,比如紅色的背景圖片,要求圖片大小要正好 
//用以下方式獲得標簽欄寬高后,創建一個背景圖片,
NSLog(@"%i,%i",(int)tabController.tabBar.frame.size.height,(int)tabController.tabBar.frame.size.width); tabController.tabBar.backgroundImage=[UIImage imageNamed:@"tabBarbg.png"];

2.用UIAppearance設置(這樣設置就不會渲染了)
[[UITabBar appearance] setBarTintColor:[UIColor orangeColor]];
pragma mark -- 04 設置圖片的渲染模式
  • 有次給導航欄的右邊按鈕設置了一張圖片,結果只顯示了一個藍色的圖片,查了一下,原來是系統渲染在作怪
直接給按鈕設置圖片是不行的,會被渲染為藍色
[rightItem setImage:[UImage imageName:@"save"]];
我們可以單獨設置一下圖片的渲染模式
 UIImage *rightImage = [UIImage imageNamed:@"save.png"];
    //設置圖像的渲染樣式
    rightImage = [rightImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
   [rightItem setImage:rightImage];
//渲染模式  
 UIImageRenderingModeAutomatic  // 根據圖片的使用環境和所處的繪圖上下文自動調整渲染模式。  
 UIImageRenderingModeAlwaysOriginal   // 始終繪制圖片原始狀態,不使用Tint Color。  
 UIImageRenderingModeAlwaysTemplate   // 始終根據Tint Color繪制圖片,忽略圖片的顏色信息。  
pragma mark -- 05 UITableViewCell的點擊效果設置
  • 很多時候我們不想要那個UITableViewCell點擊時的灰色效果,可以這樣設置
cell.selectionStyle = UITableViewCellSelectionStyleNone;//取消點擊效果
//這下面三個設置了也不管用,都是灰色的背景 
    UITableViewCellSelectionStyleBlue
    UITableViewCellSelectionStyleGray
    UITableViewCellSelectionStyleDefault

pragma mark -- 06 UITableView 滑動遇到的小問題
  • UITableView 滑動不到最底部,結果發現是沒有減去標簽欄的高度
//必須要把49:標簽欄的高度減去
_tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 99, self.view.mj_width,  self.view.mj_height - 99 - 49) style:UITableViewStylePlain];

pragma mark -- 07 運行突然出現you don’t have permission to view it錯誤
解決方法:
 將info.plist的文件中的Executable.file中的文件修改為:$(PRODUCT_NAME)
pragma mark — 08 設置UITableViewCell的分割線最簡單的方法
  • 最快最簡單設置UITableViewCell分割線
在自定義cell的.m文件中重寫設置cell frame 的方法
#pragma mark -- 重寫cell的frame方法來自己設置Cell的布局
-(void)setFrame:(CGRect)frame
{
     //設置Cell的高度少1;為cell加上分割線,分割線顏色就是tableView的背景色
    frame.size.height -= 1;
    [super setFrame:frame];
 }

pragma mark — 09 利用導航欄跳轉時隱藏底部的tabBar欄
 NextViewController *nextVc = [[NextViewController alloc]init];
//設置跳轉到的頁面標簽欄隱藏    
nextVc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:nextVc animated:YES];
//設置當前界面標簽欄不隱藏
self.hidesBottomBarWhenPushed = NO;

pragma mark — 10 直接設置導航欄中間標題的字體大小和顏色
1.有時我們想設置導航欄中間標題的字體樣式,又不想去寫一個titleLable 讓:
self.navigationItem.titleView = titleLabel;
2.我們可以在系統默認的情況下直接設置
self.title = @"導航欄標題";
 [self.navigationController.navigationBar setTitleTextAttributes:
@{NSFontAttributeName:[UIFont systemFontOfSize:22],NSForegroundColorAttributeName:[UIColor orangeColor]}];

pragma mark - 11 如何設置自定義字體

輝少字體設置的博客

pragma mark - 12 AFNetWorking 請求數據報”Request failed: unacceptable content-type: text/plain” 錯誤解決方法

看這里

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內容

  • 概述在iOS開發中UITableView可以說是使用最廣泛的控件,我們平時使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,082評論 3 38
  • *7月8日上午 N:Block :跟一個函數塊差不多,會對里面所有的內容的引用計數+1,想要解決就用__block...
    炙冰閱讀 2,512評論 1 14
  • 今天四月第一天,愚人節,哥哥張國榮的忌日。我欣賞張國榮,但稱不上是他的粉絲,對他了解有限,但每年的這個時候,我都能...
    May74閱讀 150評論 0 0
  • 我慢慢意識到,一輩子在我們口中念起來的時候像是,遠不可及。 但我們能夠下定選擇,邁出改變的機會,實在太少。 --題...
    三年不回來閱讀 340評論 4 5
  • 人無癖不可與交,以其無深情也。 人無疵不可與交,以其無真氣也。 有癖好的人往往對所愛好的事物情有獨鐘,做起來全神貫...
    獨釣云煙閱讀 481評論 2 16