2017.10技術(shù)點記錄

  1. iOS 11 適配

1.1. tableview適配

// tableView 偏移20/64適配
if (@available(iOS 11.0, *)) {
    self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;//UIScrollView也適用
}else {
    self.automaticallyAdjustsScrollViewInsets = NO;
}
//滾動條高度跳動善涨、上下拉刷新問題:
self.estimatedRowHeight = 0;//默認是這樣設(shè)置,能防止上下拉刷新跳動問題栗恩,但是如果是xib自動cell漾抬,要把這行注釋注竿,然后給高度花颗。
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;

// AppDelegate 進行全局設(shè)置
    if (@available(iOS 11.0, *)){
        [[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
    }
    
//Warn:webView,scrollview,tableview都有頁面偏移問題,所以都要設(shè)置.
    

1.2 HUD不顯示
HUD 必須添加在窗口的keyWindow才能顯示,ios11在lastWindow在 是無法顯示的.

1.3 搜索欄適配

在ios11搜索欄 展示效果非常不好,只能重新適配.所以只能拋棄系統(tǒng)的UISearchBar,自己實現(xiàn)了一個搜索控件,由UIView實現(xiàn),主要是要實現(xiàn)

-(CGSize)intrinsicContentSize{
return UILayoutFittingExpandedSize;
}

在ios11 下搜索框能在titieView下自動擴張.

1.4 ios11導(dǎo)航欄按鈕圖片變大

UIButton *leftCustomButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];

[leftCustomButton.widthAnchor constraintEqualToConstant:35].active = YES;
[leftCustomButton.heightAnchor constraintEqualToConstant:35].active = YES; 

[leftCustomButton setImage:[UIImage imageNamed:@"defaultImage"] forState:UIControlStateNormal];
UIBarButtonItem * leftButtonItem =[[UIBarButtonItem alloc] initWithCustomView:leftCustomButton];
self.navigationItem.leftBarButtonItems = @[self.headerIconItem]; 

2.iPhoneX適配

#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height
#define kNavBarHeight 44.0
#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)
#define kTopHeight (kStatusBarHeight + kNavBarHeight)

kStatusBarHeight與kTabBarHeight需要更改,還有不要隱藏statusBar.

3.tableview數(shù)組越界


判斷數(shù)組為空時候的越界問題當首次數(shù)據(jù)沒有請求完畢的時候[tableVIew reloadData];就會導(dǎo)致crash這個時候需要做一次判斷:

if(self.dataArray.count != 0){
 Model * model = self.dataArray[indexPath.row];
}

有時候會出現(xiàn)上拉加載更多后點擊下拉出現(xiàn)crash 這個時候提示數(shù)組越界但是并不是真的越界 因為這個時候的indexpath.row > 數(shù)組的元素個數(shù)的大刊。所以需要以下處理

 if(indexPath.row < self.dataArray.count){
  Model* model = slef.dataArray[indexpath.row];
  }
  
  //即:
  if(self.dataArray.count != 0 && indexPath.row < self.dataArray.count){
 Model * model = self.dataArray[indexPath.row];
}

//FIXME:這方案不知道對不對,后續(xù)改正

4.修改UIAlertView設(shè)置文字左對齊
因為iphoneSDK默認是居中對齊的淀弹,而且沒有提供方法設(shè)置文本對齊接口夫壁,在Delegate中:

- (void)willPresentAlertView:(UIAlertView *)alertView;

獲取UIAlertView上面的Message控件拾枣,它其實也是一個UILable控件,然后設(shè)置其textAlignment的屬性即可盒让。

代碼如下:

- (void)willPresentAlertView:(UIAlertView *)alertView{
    UIView * view = [alertView.subviews objectAtIndex:2];
    if([view isKindOfClass:[UILabel class]]){
        UILabel* label = (UILabel*) view;
        label.textAlignment = UITextAlignmentLeft;
    }
}

這里要注意的是梅肤,Message的UILable在alertView.subviews里面是第3個元素,第一個元素是一個UIImageView(背景),UILable(標題),UILable(Message),UIButton(Cancel)...(如果還有的話以此類推)邑茄。

5.ios后臺模式播放(鎖屏播放實現(xiàn))
音頻后臺播放,最開始集成是直接用beginReceivingRemoteControlEvents,并在kvo實現(xiàn)了,對應(yīng)方法.
但是在ios11無效果. 需要MPRemoteCommandCenter控制后臺中心去實現(xiàn)后臺控制,MPNowPlayingInfoCenter實現(xiàn)鎖屏后的界面展示.
即相應(yīng)實現(xiàn)API即可.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末姨蝴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肺缕,更是在濱河造成了極大的恐慌左医,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件同木,死亡現(xiàn)場離奇詭異浮梢,居然都是意外死亡,警方通過查閱死者的電腦和手機彤路,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門秕硝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洲尊,你說我怎么就攤上這事远豺∧纹” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵躯护,是天一觀的道長惊来。 經(jīng)常有香客問我,道長棺滞,這世上最難降的妖魔是什么唁盏? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮检眯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昆淡。我一直安慰自己锰瘸,他們只是感情好,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布昂灵。 她就那樣靜靜地躺著避凝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眨补。 梳的紋絲不亂的頭發(fā)上管削,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機與錄音撑螺,去河邊找鬼含思。 笑死,一個胖子當著我的面吹牛甘晤,可吹牛的內(nèi)容都是我干的含潘。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼线婚,長吁一口氣:“原來是場噩夢啊……” “哼遏弱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起塞弊,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤漱逸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后游沿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饰抒,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年奏候,在試婚紗的時候發(fā)現(xiàn)自己被綠了循集。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔗草,死狀恐怖咒彤,靈堂內(nèi)的尸體忽然破棺而出疆柔,到底是詐尸還是另有隱情,我是刑警寧澤镶柱,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布旷档,位于F島的核電站,受9級特大地震影響歇拆,放射性物質(zhì)發(fā)生泄漏鞋屈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一故觅、第九天 我趴在偏房一處隱蔽的房頂上張望厂庇。 院中可真熱鬧,春花似錦输吏、人聲如沸权旷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拄氯。三九已至,卻和暖如春它浅,著一層夾襖步出監(jiān)牢的瞬間译柏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工姐霍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鄙麦,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓邮弹,卻偏偏與公主長得像黔衡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子腌乡,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容