본문 바로가기

아이폰

(20)
[iOS] UILabel에 클릭 이벤트 붙이기 AOS로 클릭 이벤트를 구현할땐 상황에 맞게 View, TextView등 다양한 오브젝트를 활용해서 레이아웃을 그리고 거기에 간단하게 클릭이벤트를 붙입니다. 하지만 iOS는 버튼에만 IBAction을 사용해서 편리하게 붙일 수 있고 그 외엔 'TapGesture'를 붙여야 합니다. class ViewController: UIViewController { @IBOutlet weak var view: UILabel! override func viewDidLoad() { super.viewDidLoad() // 포인트 구매 let buyPoint = UITapGestureRecognizer(target: self, action: #selector(clickPoint)) view.addGestureRecogni..
[iOS] Tableview 만들기 ( Custom Tableview Cell ) 상품의 정렬 기준이나 여러 리스트중에서 한가지를 선택할때 AOS에서는 BottomSheetDialog나 Dialog를 사용하곤 하는데 iOS에서는 아래 사진과 같은 view를 많이 사용하는데 이를 Tableview라고 합니다. Storyboard에 ViewController Object와 class 파일( SelectChargePointViewController.swift )을 생성하고 TableView Object를 추가하고 상위 View의 배경색을 투명(clear color) 하게 합니다. ( present 했을때 Tableview만 나오도록 하기 위함 ) 여기서 tableView cell을 추가할 필요는 없습니다. cell은 별도로 생성해야 재사용할 수 있기 때문입니다. 그리고 추가한 TableVi..
[iOS] No Assistant Results 사용 환경 xcode 13 m1 맥북 스토리보드 씬에 연결된 viewController가 Assistant에 나와야 하는데 'No Assistant Result' 문구와 함께 노출되지 않을때 DerivedData 폴더를 지워주면 됩니다. ( 위치 : Library/Developer/Xcode ) 터미널 이용시 아래 명령어를 이용하세요 rm -rf ~/Library/Developer/Xcode/DerivedData 그리고 국룰인 xcode를 재실행 하시면 나옵니다!
[iOS] cocoaPods 설치, M1대응 기존에 cocoaPods를 설치하는 포스팅을 남겼었는데 M1 맥북에선 ios개발도 다르게 처리해줘야 하더라구요.. [iOS - Swift] cocoaPods로 라이브러리 추가 ( SnapKit 추가, 안드 개발자 시점 ) 안드로이드로 라이브러리 추가할땐 프로젝트내 gradle 파일에 간단하게 선언 해주고 싱크를 맞추면 되는데 iOS는 터미널을 이용하는 방법으로 하더라구요. ( 다른 방법이 있을수도 있겠지만 굉장 superwony.tistory.com 기존 설치 방법은 위 포스팅을 참고하시면 됩니다. m1 문제 기존 방식으로 cocoaPods를 설치할 수 없습니다. $ sudo gem install cocoapods ( 기존방식 ) 위 명령어를 입력하면 에러가 나면서 설치되지 않습니다. 해결방법 먼저 터미..
[iOS] 점선 그리기 view 배경의 점선으로 그려야 할때 사용하는 함수입니다. 1. 일반 점선 func setLineDot(view: UIView, color: String){ let borderLayer = CAShapeLayer() borderLayer.strokeColor = UIColor(named: color)?.cgColor borderLayer.lineDashPattern = [2, 2] borderLayer.frame = view.bounds borderLayer.fillColor = nil borderLayer.path = UIBezierPath(rect: view.bounds).cgPath view.layer.addSublayer(borderLayer) } 2. 코너가 들어간 점선 func setLineD..
[iOS] CollectionView 선택한 아이템 UI 변경하기 해당 포스팅은 선택한 아이템의 UI를 변경해주는걸 중점으로 다뤘으며 UICollectionView에대한 기초적인 내용은 제 블로그내 다른 포스팅을 참고해주세요 [iOS] CollectionView로 구현하는 페이징 & 리스트 안드로이드에선 페이징 기능 구현시 뷰페이저를 사용하고 리스트는 리싸이클러뷰를 사용합니다. iOS의 경우 페이징 과 리스트 모두 CollectionView로 구현이 가능합니다. 페이징 기능의 예로 5초 superwony.tistory.com | 선택한 아이템 UI 예시 및 안드로이드와 비교 위 사진 왼쪽 식물 리스트를 보시면 선택중인 식물은 다르게 표기하고 있습니다. 이처럼 목록중에서 선택한 아이템만 다르게 표기하는건 흔하게 쓰이는 UI 입니다. 안드로이드에선 Recyclerview ..
[iOS] Autolayout, Android 에서 View가 Gone되는 효과 구현하기 안드로이드에서 view에 visibility 속성은 view를 화면에 노출할 것인지 여부를 설정합니다. 단순하게 노출 여부를 설정하기도 하지만 비노출시 2가지를 선택할 수 있습니다. 눈에는 보이지 않지만 영역은 존재하는 경우 와 눈에도 보이지 않고 영역조차 사라지는 경우로 나뉩니다. ( invisible / gone ) ※노출하는 경우 visible 안드로이드에선 gone 옵션을 줄 경우 다음 순서에 있거나 constraint로 연관되어 있는 view가 영역을 저절로 채워줍니다. 하지만 iOS에서 오토레이아웃을 사용했을 경우 위 그림상 'B' 뷰를 hidden 처리할 경우 invisible처리 처럼 영역은 그대로 남아 있어 별도로 처리해야 합니다. 1. hidden처리시 Constraint를 직접 조정한..
[iOS] CollectionView로 구현하는 페이징 & 리스트 안드로이드에선 페이징 기능 구현시 뷰페이저를 사용하고 리스트는 리싸이클러뷰를 사용합니다. iOS의 경우 페이징 과 리스트 모두 CollectionView로 구현이 가능합니다. 페이징 기능의 예로 5초 단위로 움직이는 광고 배너 구현 코드를 첨부했으며 예제에서 일부 설정만 변경하면 스크롤이 가능한 리스트가 됩니다. ( 언어는 스위프트를 사용했습니다 ) CollectionView 추가 코드가 아닌 Storyboard로 추가 했고, 뷰 생성시 자동으로 추가되는 CollectionView Cell은 하나의 리스트(아이템)를 뜻합니다. CollectionView Constraint 오토 레이아웃을 사용하여 가로 넓이는 꽉차도록 했으며 높이는 원하는 값으로 고정 했습니다. Attributes Inspector 설정..