中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS中UINavigationItem如何去除左右間隙

發布時間:2021-07-12 11:09:24 來源:億速云 閱讀:301 作者:小新 欄目:移動開發

小編給大家分享一下iOS中UINavigationItem如何去除左右間隙,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

修改思路

在iOS11之前保持原有方式進行設置,iOS11之后進行額外的邊距約束修改達到移動效果.

從viewDebug的界面上觀察可以看到需要將UIButtonBarStackView距離左邊和右邊的16的約束改為0即可.

iOS中UINavigationItem如何去除左右間隙

核心代碼

配置導航器view代碼

//0:leftBarButtonItems,1:rightBarButtonItems
- (void)initBarItem:(UIView*)view withType:(int)type{
  UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc]initWithCustomView:view];
  //解決按鈕不靠左 靠右的問題.iOS 11系統需要單獨處理
  UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
  spaceItem.width = -16;//這個值可以根據自己需要自己調整
  switch (type) {
    case 0:
      if (!IS_IOS_VERSION_11) {
        self.navigationItem.leftBarButtonItems =@[spaceItem,buttonItem];
      }else{
        self.navigationItem.leftBarButtonItems =@[buttonItem];
      }
      break;
    case 1:
      if (!IS_IOS_VERSION_11) {
        self.navigationItem.rightBarButtonItems =@[spaceItem,buttonItem];
      }else{
        self.navigationItem.rightBarButtonItems =@[buttonItem];
      }
      break;
      
    default:
      break;
  }
}

處理iOS11情況下的偏移問題,將邊距為16的約束的值改為0.

-(void)viewDidLayoutSubviews{
  if (!IS_IOS_VERSION_11) return;
  UINavigationItem * item=self.navigationItem;
  NSArray * array=item.leftBarButtonItems;
  if (array&&array.count!=0){
    //這里需要注意,你設置的第一個leftBarButtonItem的customeView不能是空的,也就是不要設置UIBarButtonSystemItemFixedSpace這種風格的item
    UIBarButtonItem * buttonItem=array[0];
    UIView * view =[[[buttonItem.customView superview] superview] superview];
    NSArray * arrayConstraint=view.constraints;
    for (NSLayoutConstraint * constant in arrayConstraint) {
      if (fabs(constant.constant)==16) {
        constant.constant=0;
      }
    }
  }
}

iOS中UINavigationItem如何去除左右間隙

看完了這篇文章,相信你對“iOS中UINavigationItem如何去除左右間隙”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳河县| 黄梅县| 韶山市| 新龙县| 洞口县| 汪清县| 南丹县| 咸宁市| 昌吉市| 资兴市| 乐亭县| 清镇市| 唐山市| 新安县| 民权县| 崇信县| 吴堡县| 兰州市| 嘉荫县| 溧水县| 封丘县| 北安市| 维西| 临泽县| 崇左市| 伽师县| 汉寿县| 临桂县| 偃师市| 交城县| 客服| 永福县| 肇东市| 德江县| 齐齐哈尔市| 岳阳县| 平山县| 新龙县| 二手房| 龙岩市| 若尔盖县|