728x90 ๋ฐ์ํ ๐ iOS138 [iOS] ํญ๋ฐ๋ฅผ ์ ์งํ ์ฑ ํน์ ๋ทฐ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํ๊ธฐ ๋ค์๊ณผ ๊ฐ์ด ํญ๋ฐ์ปจํธ๋กค์ ์ํด ์๋ ๋ทฐ์ปจํธ๋กค๋ฌ์์ ๋ค๋ฅธ ๋ทฐ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํ๋ฉด ํญ๋ฐ๊ฐ ์ฌ๋ผ์ง ์ฑ ํ๋ฉด์ด ์ ํ๋๋ค. ์๋์ฒ๋ผ ํ์ง๋ง ์๋ ์ฒ๋ผ ํญ๋ฐ์ปจํธ๋กค๋ฌ์ ์ํด์๋ ๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฐ๊ฒฐ์์ผ์ฃผ๊ณ ํญ๋ฐ ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐ์ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๋ก ํด์ฃผ๋ฉด ํญ๋ฐ๊ฐ ์ ์ง๋ ์ฑ ํ๋ฉด์ด ์ ํ๋๋ค. ์๋์ฒ๋ผ ํญ๋ฐ๊ฐ ์ ์ง๋ ์ฑ ํ๋ฉด์ด๋ ํ ์๊ฐ ์๋ค. 2020. 2. 28. [iOS/UI] ๋ค๋น๊ฒ์ด์ ๋ฐ ๋ฐฑ๋ฒํผ ์ปค์คํ ํ๊ธฐ(UINavigationBarItem Custom) ํน์ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ์์ ํ๋ฉด์ ์ด๋ํ ๋ ์๋์ผ๋ก ๋ฐฑ๋ฒํผ์ด ์๊ธฐ๋ ๊ฒ์ ๋ณผ ์ ์๋๋ฐ ๋๋ ๋ด๊ฐ ์ํ๋ ์์ด์ฝ์ผ๋ก ๋์ฐ๊ณ ๋ฐฑ๋ฒํผ๊ณผ ๋๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ฒ ํ๊ณ ์ถ์๋ค. ๋ฐ๋ฒํผ์์ดํ ์์ ์์ ์ด ์ํ๋ ์ด๋ฏธ์ง์ style tagget action์ ๋ง๋ค์ด์ค ๋ค ๋ค๋น๊ฒ์ด์ ์์ดํ ์์ ์ผ์ชฝ ๋ฐ๋ฒํผ ์์ดํ ์ ๋ง๋ค์ด ์ค ๋ฐ๋ฒํผ ์์ดํ ์ ์ค์ ํด์ค๋ค. 1 2 let backbutton = UIBarButtonItem(image: UIImage(named: "passwordOn@3x.png"), style: .done, target: self, action: #selector(back)) self.navigationItem.leftBarButtonItem = backbutton http://colorscripter.c.. 2020. 2. 28. [iOS] ๊ฑธ๋ฆฐ ์๊ฐ ๊ตฌํ๊ธฐ 1 2 3 4 5 6 7 8 9 10 func processTime(blockFunction: () -> ()) { let startTime = CFAbsoluteTimeGetCurrent() blockFunction() let processTime = CFAbsoluteTimeGetCurrent() - startTime print("๊ฑธ๋ฆฐ ์๊ฐ = \(processTime)") } processTime { } http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter https://kka7.tistory.com/67 ์๋ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ์กฐํ์ต๋๋ค. ์ํ ์๊ฐ .. 2020. 2. 16. [iOS/UI] ํ ์ด๋ธ๋ทฐ ์ ์ผ ์๋ก ๊ฐ๊ธฐ ์ํ๋ ๊ณณ์๋ค ๋ฃ์ผ๋ฉด ํ ์ด๋ธ๋ทฐ์ ๋งจ ์ ์ชฝ์ผ๋ก ์ด๋ํ๋ค. 1 tableView.contentOffset = CGPoint(x: 0, y: 0 - tableView.contentInset.top) 2020. 2. 14. [iOS/API] Swift๋ก ์นด์นด์ค ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ ์นด์นด์คSDK์ค์น ์๋ ์ฌ์ง์์ ํ๋์ SDK ๋ค์ด๋ก๋๋ฅผ ๋๋ฅด๋ฉด ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํ๋ค, SDK ์์ถํ๊ณ xcode์ General์ ์๋ Frameworks, Libraries, and Embedded Content ์ด ๋ถ๋ถ์ ํ๋ฌ์ค ๋ฒํผ์ ๋๋ฌ์ค๋ค. (๋ ์ด๋ฏธ ์ฐ๊ฒฐํด๋์ ์ํ๋ผ ์นด์นด์ค์คํSDKํ๋ ์์ํฌ๊ฐ ์๋๋ฐ ์๋ ๋น์ด์๋ค.) ๋๋ฅด๋ฉด ์ด์ ๊ฐ์ ์ฌ์ง์ด ๋จ๋๋ฐ ์ข์ธกํ๋จ Add Other์์ Add Files๋ฅผ ๋๋ฌ์ค๋ค ๊ทธ๋ฆฌ๊ณ ์๊น ๋ค์ด๋ฐ์๋ SDK์์ KakaoOpenSDK.framework๋ฅผ ์ถ๊ฐํด์ค๋ค. ๊ทธ๋ฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ถ๊ฐ๋์๋ ๊ฑธ ๋ณผ ์ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ Build Settings์ Linking์ Other Linker Flags์ -all_load๋ฅผ ๋ฃ์ด์ค๋ค ๊ทธ๋ฆฌ๊ณ ์นด์นด์ค ๋๋ฒจ๋กํผ ์ฌ์ดํธ์.. 2020. 2. 7. [iOS/UI] System Icon ์ฌ์ฉ๋ฒ ์คํ ๋ฆฌ๋ณด๋ ์ดํธ๋ฆฌ๋ทฐํธ ์ธ์คํํฐ์์ Image๋ฅผ ๋ฃ์ด์ฃผ๊ฑฐ๋ ์ฝ๋์์์ ์๋ ์ฝ๋๋ฅผ ์ด์ฉํด ๋ฃ์ด์ค๋ค. UIImage(systemName:"heart") 2020. 2. 5. [iOS]ํธ์ฌ์๋ฆผ ๋ณด๋ด๊ธฐ import UserNotifications override func viewDidLoad() { super.viewDidLoad() let center = UNUserNotificationCenter.current() center.requestAuthorization(options: [.alert,.sound]) { (granted, error) in } let content = UNMutableNotificationContent() content.title = "๋ ๊น์?" content.body = "๋๊ฒ ์ง" let date = Date().addingTimeInterval(3) let dateComponents = Calendar.current.dateComponents([.year,.month,... 2020. 1. 23. [iOS] link url๋ก ์ด๋ํ๊ธฐ let url = NSURL(string:"์ํ๋ ์ฃผ์")! as URL UIApplication.shared.open(url, options: [:], completionHandler: nil) 2020. 1. 15. [iOS/UI] ํฐํธ ์ ์ฉํ๊ธฐ(feat.๋ค๋น๊ฒ์ด์ ํ์ดํ) ์ํ๋ ํฐํธ๋ฅผ ๋ค์ด๋ฐ๊ณ Xcode ํ๋ก์ ํธ์ ์ถ๊ฐํด์ค๋ค. ๊ทธ๋ฆฌ๊ณ ํฐํธํ์ผ์ ๋๋ฅด๊ณ ์ค๋ฅธ์ชฝ ํ๋จ์ Target Membership์ ์ฒดํฌํด์ค๋ค. info.plist์์ Fonts provided by apllication์์ ๋ค์ด๋ฐ์ ํฐํธ์ด๋ฆ์ ์์ดํ ์ ๋ฃ์ด์ค๋ค Font Custom์ผ๋ก ๋ค์ด๊ฐ์ Family๋ฅผ ๋๋ฅด๋ฉด ๋ค์ด๋ฐ์ ํฐํธํ์ผ์ด ์๋ ๊ฑธ ๋ณผ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค๋น๊ฒ์ด์ ๋ฐ์ ํ์ดํ ํฐํธ๋ ๋ฐ๊พธ๊ณ ์ถ์๋๋ฐ ์คํ ๋ฆฌ๋ณด๋ ์์์ ๋ฐ๊ฟ ์ ์๋ ํฐํธ๊ฐ ๋ช ๊ฐ ์์๋ค. ๊ทธ๋์ ์ฝ๋๋ก ๋ฃ์ด์ฃผ๋ ๋ฒ์ ์์๋ณด์๋๋ฐ ๋ค๋น๊ฒ์ด์ ๋ฐ์์ ํ์ดํ์ ์ดํธ๋ฆฌ๋ทฐํธ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค. ์ฌ๊ธฐ์ ํท๊ฐ๋ฆฐ ์ ์ ํฐํธ์ด๋ฆ์ด ํ์ผ์ด๋ฆ์ธ๊ฐ? ์๋๋ฉด Family์ ์๋ ์ด๋ฆ? Style์ ์๋ ์ด๋ฆ?์ธ์ง์๋ค. ์ ๋ต์ Family์ ์๋ ์ด๋ฆ์ ๋ฃ์ด.. 2020. 1. 13. [iOS] ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๊ฐ ์ฐ๊ฒฐ๋ ๋ทฐ์ปจํธ๋กค๋ฌ์ ์ธ๊ทธ๊ฐ ๋๊ธฐ๊ธฐ(UINavigationController Segue and UIRootViewController) ์ธ๊ทธ๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐ๋ ค๋ค๊ฐ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๊ฐ ์ฐ๊ฒฐ๋ ๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ฐ๋ก ๋๊ธฐ๋๊น ๋ค๋น๊ฒ์ด์ ๋ฐ๊ฐ ์๋ต๋๋ฉด์ ํ๋ฉด์ด ์ ํ๋์๋ค. ์๋์ฒ๋ผ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ์ ์ธ๊ทธ๋ฅผ ๊ฑธ์ด์ค ๋ค ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐ๋ ๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ด์๋ค. ์๋์ฒ๋ผ ์ธ๊ทธ๋ฅผ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐํด์ฃผ๊ณ identifier๋ฅผ ์ ํด์ค๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ๋ณด๋ผ ์ปจํธ๋กค๋ฌ์์ override func prepare๋ฅผ ํตํด ํ์ฌ ๋ทฐ์ปจํธ๋กค๋ฌ์ ํ ์คํธํ๋ ๊ฐ์ ๋ค๋น๊ฒ์ด์ ์ text ๋ณ์์ ๋ณด๋ด์ฃผ๊ณ ๋ฒํผ์ ๋๋ ์ ๋ performSegue๊ฐ ๋๊ฒ ํ๋ค. withIdentifier์ ์๊น ์ ํด๋์ ๊ฒ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค. import UIKit class GoViewController: UIViewController { .. 2020. 1. 12. [iOS/UI] ํ ์คํธํ๋ ์์ ์ด๋ฏธ์ง ๋ฃ๊ธฐ ๋ฐ ์ฌ๋ฐฑ์ฃผ๊ธฐ(UIImage in UITextField and Padding) ํ ์คํธํ๋ ์์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ๊ณ ์ถ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ์ชฝ์ผ๋ก ๋๋ฌด ์น์ฐ์ณ์ ธ ์๋ ๊ฒฝ์ฐ๋ ์์ด์ ์ด๋ฏธ์ง๋ ์๋ฃ๊ณ ์ผ์ชฝ์ ํจ๋ฉ์ ์ฃผ๊ณ ์ถ์๋ค.ํ ์คํธํ๋์ ์ต์คํ ์ ์ ์ฃผ๊ณ ์ฒซ ๋ฒ์งธ์ ํจ๋ฉ๋ทฐ๋ฅผ ๋ฐ๋ก ์์ฑํด์ width๊ฐ์ผ๋ก 10์ ์ค๋ฒ๋ ค์ 10๋งํผ ์ผ์ชฝ์ ํจ๋ฉ์ ์ฃผ๋ ํจ๊ณผ๋ฅผ ์ฃผ๋ ๊ฒ์ด๋ค.extension UITextField { func addLeftPadding() { let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: self.frame.height)) self.leftView = paddingView self.leftViewMode = ViewMode.always } func addleftimage(image:UIImage) { let le.. 2020. 1. 10. ์ปค์คํ ์ด๋ฏธ์งํฝ์ปค ๋ฐ ๋ฉํฐํฝ(Custom ImagePicker and MultiPick) ํ 2์ฃผ๋์ ์ฐพ์ ํค๋ฉจ๋ ๊ฑด๋ฐ ๊ฒฐ๊ตญ ํด๊ฒฐํด๋๋ค. ์จ๋ฒ์ ์๋ ์ฌ์ง์ ๊ณ ๋ฅผ ๋ ์ฌ๋ฌ๊ฐ๋ฅผ ๊ณ ๋ฅด๊ณ ์ถ๊ณ ๋ด๊ฐ ์ปค์คํ ํ ๋์์ธ์ผ๋ก ํฝ๋๋ ๋ชจ์ต์ ๋์ฐ๊ณ ์ถ์๋๋ฐ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์จ๋ ์ค๋ฅ๊ฐ ๋จ๊ณ ์ฝ๊ฒ ํ ์๊ฐ ์์๋ค. ๊ทธ๋์ ์จ๋ฒ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ๋ด๊ฐ ๋ง๋ ์ฝ๋ ์ ๋ทฐ์ ์ ์ฅํด์ ์ ๋ ํธ๋ ๋๋ง๋ค ๋ฐ๊พธ๋ฉด ๋๊ฒ ๋ค๊ณ ์๊ฐ์ ํ๋ค. ์จ๋ฒ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฒ์ 1.Appdelegate์ import Photos ๋ฅผ ํด์ค๋ค. 2. PHFetchResult๋ฅผ ๋ด์ allPhotos์ ๊ทธ ๊ฐฏ์์ธ photocount๋ฅผ ์ ์ญ ๋ณ์ ์ ์ธํด์ค๋ค 3. didFinishLaunchingWithIptions ํจ์ ์์ ์๋ ํจ์๋ฅผ ๋ฃ์ด์ค ๋ค 4.์ํ๋ ์ฝ๋ ์ ๋ทฐ๊ฐ ์๋ ํด๋์ค๋ก ๊ฐ์ numberOfItemsInSection์ p.. 2020. 1. 9. ์ด์ 1 ยทยทยท 7 8 9 10 11 12 ๋ค์ 728x90 ๋ฐ์ํ