當你公司專案要能跳到其他自家產品自肥時就會用到

Photo by Taylor Heery on Unsplash
  1. 設定URL Types(定義你app的URL)
    從TARGETS → Info → URL Types → + → URL Schemes輸入你自己的自訂名稱

--

--

全拿掉!

給予一個任意陣列(nums)與一個目標數字(val),將目標數字從陣列中移除,然後回傳陣列剩餘元件數量

解答不應建立新的陣列儲存,而是從原本陣列修改

--

--

我覺得我練完這題以後先來把實作(UIKit)的東西熟悉比較要緊…

給予一個任意陣列(nums)與一個目標數字(target),需要回傳陣列中兩個index,其值可以相加後等於目標數字

假設陣列(input)對應的答案(output)只會有一種,並且不能重複回傳同一個index

--

--

這篇主要紀錄自己在觀看一些關於Tree的介紹所做的筆記,目前應用還沒去了解,等之後有更深入會再更新文章

他是一群節點的集合,他會連接但不會形成一個閉循環

--

--

從入職後到現在沒解難題之一(我就廢…)

Here the problem,問題是這樣的,雖然還算習慣使用UITableView/UICollectionView,但之前都是直接顯示data到cell上,現在發現在做商城時,因為有商品類別要選擇,但預設情況下應該要顯示選取第一個類別,所以只會做顯示的我就雙手一攤,我不會

查遍了StackOverFlow或其他教學,發現做不出我要的東西

selectItem(at: , animated: , scrollPosition: )
tableView(_:willDisplay:forRowAt:)

之後再問朋友才知道,可以透過另外建立一個model多儲存isSelected參數然後設定第一個item的isSelected為true在顯示即可

需要將原本使用的Category model都改成CategoryCellModel

這裏額外建立isFirstCategory來判斷第一個項目

利用map將responseCategories映射到categories上,然後當isFirstCategory == true時,會更改isSelected為true,第一個項目被設定完之後由於isFirstCategory會變成false,所以其餘項目皆會走else選項

最後記得將item.isItemSelected = category.isSelected寫入cellForItemAt,這樣就可以設定item的狀態

他搭~

--

--

當PM看膩了原生的table view長相後要求你來點特別的

  1. shadowColor(陰影的顏色)
  2. shadowRadius(陰影的圓角半徑)
  3. shadowOpacity(陰影的透明程度)
  4. shadowOffset(陰影的發散程度)

view的shadow會被masksTobounds/clipsToBonuds裁掉

  • view.layer.masksToBounds

masksToBounds → sublayers are clipped to the layer’s bounds

他會依layer的bounds將一塊mask蓋上layer裁切,包含任何bounds外的效果,若不只一個mask存在,則mask的效果是會疊加
  • view.clipsToBounds

clipsToBounds → subviews are confined to the bounds of the view

--

--

解決PM問你他看不到自己在UITextField打了什麼內容

前置作業

你必須有UITextField然後他的位置在偏下面

鍵盤收起

有兩種做法

  1. 鍵盤內建的return鍵收起
  2. 點擊鍵盤外畫面收起
return是指這個(但使用者不一定知道這個按下去會收起來)
但記得將UITextField的代理人(delegate)設成自己(ViewController)
endEditing只要有找到該view上有textField就會強制resign

根據UITextField位置讓鍵盤移動

  • UIResponder.keyboardWillShowNotification(鍵盤即將顯示)
  • UIResponder.keyboardWillHideNotification(鍵盤即將消失)

NotificationCenter有可以偵測鍵盤顯示消失的項目可以使用,透過監聽顯示、消失可以做對應的動作,利用notification的userInfo裡有一個keyboardFrameEndUserInfoKey可以取得當鍵盤動畫執行完後其鍵盤大小

再利用設定contentInset來增加、減少scrollView的高度來避開鍵盤

Demo

--

--