[Dev, iOS] 해당 URL로 이동하기
·
Dev/iOS
UIApplication.shared.open(URL(string: /* 여기에 url 주소를 입력해주세요. */)! as URL, options: [:], completionHandler: nil)UIButton을 만들고 해당 코드를 집어넣으면 된다.
[Dev, iOS] 코드로 custom color 사용하기
·
Dev/iOS
간혹 UI를 코드로 짜거나 storyboard로 해결하기 힘들 때에는 color Literal을 사용하면 된다. 다만 color Literal 같은 경우에는 타입이 UIColor라서 CGColor로 변경이 필요하다. let color = color Literal // xcode에서 입력 시 네모난 모양으로 변경되어 원하는 컬러를 선택할 수 있다.let customColor = color.cgColor // UIColor를 CGColor로 바꿔주기 + Xcode 13으로 넘어오면서 해당 코드가 막혀버렸지만, 코드를 작성할 때 #을 붙이면 다시 사용 가능하다.
[Dev, iOS] Google Admob 배너 위치 변경하기
·
Dev/iOS
애드몹 코드를 구글에서 제공하는 대로 가져다쓰면 문제가 딱 두 가지 존재한다. 첫번째는 bottomLayoutGuide가 사라졌다는 것, 그리고 코드로 UI를 짜지 않는 개발자들에게 애드몹 위치를 옮기는 것이 쉬운 일이 아니다. 먼저 bottomLayoutGuide로 인한 노랑 불 문제는 toItem: view.safeAreaLayoutGuide로 변경해주면 된다. func addBannerViewToView(_ bannerView: GADBannerView) { bannerView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(bannerView) view.addConstraints( [NSLayoutConstraint(item: ..
[Dev, iOS] iOS 14+ widget의 view를 바로바로 업데이트 하기
·
Dev/iOS
iOS widget을 구현한 지는 꽤 되었는데 변경 사항을 바로바로 업데이트 해주는 법을 몰라 for hourOffset in 0 ..< 5 { let entryDate = Calendar.current.date(byAdding: .hour, value: hourOffset, to: currentDate)! let entry = SimpleEntry(date: entryDate) entries.append(entry) } 해당 코드에서 hourOffset 범위를 0 ..< 2 이런 식으로 최대한 줄이거나 byAdding: .hour를 .second 이나 .minute로 바꿔 임시방편으로 코드를 짰는데 정말 바보 같은 짓이었다. 해결 방법은 위젯을 업데이트하고싶은 VC에서 widgetKit을 import하..
[Dev, iOS] 탭바 컨트롤러 위 테두리를 없애고 싶을 때
·
Dev/iOS
탭 바의 경계선(border)의 두께를 0.50 포인트로 설정합니다.탭 바의 경계선(border)의 색상을 투명하게 설정합니다. 여기서는 경계선의 색상을 투명하게 설정하여 경계선이 보이지 않도록 합니다.탭 바의 클립을 설정합니다. clipsToBounds가 true로 설정되면, 탭 바의 경계를 넘어서는 모든 하위 뷰는 잘립니다. 즉, 탭 바의 경계를 넘어서는 부분이 화면에 보이지 않게 됩니다. self.tabBarController!.tabBar.layer.borderWidth = 0.50self.tabBarController!.tabBar.layer.borderColor = UIColor.clear.cgColorself.tabBarController?.tabBar.clipsToBounds = true
[Dev, iOS] 배열 범위 내 랜덤 변수 뽑기
·
Dev/iOS
let message0: [String] = ["a", "b", "c", "d", "e"]let arraynum: Int = message0.count // 메시지 배열의 요소 개수를 세서 arraynum 변수에 할당let numbers = Int.random(in: 0 ..
[Dev, iOS] iPad에서 ActionSheet가 오류 난다면
·
Dev/iOS
if UIDevice.current.userInterfaceIdiom == .pad { if let currentPopoverpresentioncontroller = activityViewController.popoverPresentationController { currentPopoverpresentioncontroller.sourceView = sharbtn currentPopoverpresentioncontroller.sourceRect = sharbtn.bounds; currentPopoverpresentioncontr..
[Dev, iOS] 특정 시간 이후 메소드 실행
·
Dev/iOS
해당 코드를 이용하면 일정 시간 이후에 메소드가 실행된다.DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(15), execute: {/* 원하는 메소드를 여기다 집어넣어주세요 */ })현재 예는 15초 뒤로 설정한 모습. + .milliseconds() 와 .microseconds() 도 사용이 가능하다!