天天看點

iOS的10個實用小技巧,mark

http://xfenglin.com/a/12008988750.html

1、控件的局部圓角問題

你是不是也遇到過這樣的問題,一個button或者label,隻要右邊的兩個角圓角,或者隻要一個圓角。該怎麼辦呢。這就需要圖層蒙版來幫助我們了

舉例為button,其它繼承自UIView的控件都可以

2、navigationBar的透明問題

如果僅僅把navigationBar的alpha設為0的話,那就相當于把navigationBar給隐藏了,大家都知道,父視圖的alpha設定為0的話,那麼子視圖全都會透明的。那麼相應的navigationBar的标題和左右兩個按鈕都會消失。這樣顯然達不到我們要求的效果。

(1)如果僅僅是想要navigationBar透明,按鈕和标題都在可以使用以下方法:

細心的你會發現上面有一條線如下圖:

這就需要我們做進一步處理,把線去掉,如下方法即可:

(2)如果你想在透明的基礎上實作根據下拉距離,由透明變得不透明的效果,那麼上面那個就顯得力不從心了,這就需要我們采用另外一種方法了

3、全局設定navigationBar标題的樣式和barItem的标題樣式

4、navigationBar隐藏顯示的過度

相信在使用中肯定遇到過,一個頁面隐藏navigationBar,另一個不隐藏。兩個頁面進行push和pop的時候,尤其是有側滑手勢傳回的時候,不做處理就會造成滑動傳回時,navigationBar位置是空的,直接顯示一個黑色或者顯示下面一層視圖,很難看。這就需要我們加入過度動畫來隐藏或顯示navigationBar:

在傳回後将要出現的頁面實作viewWillAppear方法,需要隐藏就設為YES,需要顯示就設為NO

5、側滑手勢傳回

iOS的側滑傳回手勢有着很好的操作體驗,不支援側滑傳回的應用絕對不是好應用。但是在開發過程中在自定義了傳回按鈕,或者某些webView,tableView等頁面,側滑傳回手勢失效,這時候就需要我們來進行設定一下了,可以在基類裡面協商如下代碼:

問題:當傳回navigationController的最頂層的Controller的時候。再次側滑,這個時候你在點選一個push頁面的操作,你會發現卡那了,半天才會有反應。

這是由于,在最頂層Controller手勢依然有效,但是滑動後,并找不到傳回的頁面。造成軟體卡頓,假死是以就要在rootViewController中讓此手勢失效。把下面的設為NO

self.navigationController.interactivePopGestureRecognizer.enabled = YES;

當然你也可以使用一個第三方庫,寫的相當棒。他對系統的側滑傳回手勢進行拓展,不用從邊緣滑動,隻要右滑即可傳回。最重要的是,他隻需要加入項目中即可,不需要一行代碼即可實作。附上github 網址

https://github.com/forkingdog/FDFullscreenPopGesture

6、給webView添加頭視圖

webView是一個複合視圖,裡面包含有一個scrollView,scrollView裡面是一個UIWebBrowserView(負責顯示WebView的内容)

7、模态跳轉的動畫設定

設定模态跳轉的動畫,系統提供了四種可供選擇

8、圖檔處理隻拿到圖檔的一部分

9、給UIView設定圖檔

10、給TableView或者CollectionView的cell添加簡單動畫

隻要在willDisplayCell方法中對将要顯示的cell做動畫即可:

繼續閱讀