본문 바로가기

swift

(8)
[iOS - SwiftUI] 계산기 만들기 SwiftUI로 계산기 만들기  Button 사이즈를 잡아주는 함수를 만든다. buttonWidth 같은 경우에는 0 버튼일 경우에는 다른 버튼들과는 다르게 넓은 width를 줘야하기 때문에 따로 조건을 넣어준다.  /// Button Widthfunc buttonWidth(item: CalculatorButton) -> CGFloat { // 0일 경우에만 넓은 width를 준다! if item == .zero { return ((UIScreen.main.bounds.width - (4 * 12)) / 4) * 2 } return (UIScreen.main.bounds.width - (5 * 12)) / 4}/// Button Heightfunc buttonHeight..
[iOS - UIKit] TextField 입력에 따라 Button 활성화 유무 TextField 입력 시작 시 Button 상태 변경 Button의 활성화와 UI를 변경하는 함수 Code// textField 상태에 따라 LoginButton 상태 활성화 유func textFieldDidChangeSelection(_ textField: UITextField) { if (loginView.idTextField.text?.count ?? 0   TextField 입력 시작할때 테두리 적용 및 해제   Code// textField가 터치가 되면 테두리 설정func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { textField.layer.borderColor = UIColor.white.cgColor ..
[iOS - UIKit] ScrollView에서 Button 클릭 시 화면의 최상단, 최하단 이동 오늘은 ScrollView를 사용할 때에 페이지의 내용이 많아 스크롤이 길어지게 되면 어플 안의 버튼을 터치함으로써 최상단 또는 최하단으로 가는 구현 방법을 알아보려고 한다. 구현 방법 ViewController에서 UIScrollViewDelegate 채택 ScrollView를 스크롤하게 되면 x, y축이 변하게 된다. button을 클릭했을때 event를 x, y축이 (0, 0)이 되도록 한다. 코드 class ViewController: UIViewController,UIScrollViewDelegate { // code } 방법 1 - 최상단 이동 @objc func scrollToTop(_ sender: UIButton) { collectionView.scrollToItem(at: IndexPa..
[iOS - Swift] is, as 타입 캐스팅 (업 캐스팅, 다운 캐스팅) 앱을 개발하다 보면 is, as, as!, as? 와 같이 같은 듯 다른 문법을 본 적이 있을것이다. 우리는 이걸 타입 캐스팅 이라고 하는데 어떤 것들이 다른지 정확히 짚고 넘어가기 위해 글을 작성하게 되었다. 타입 캐스팅 (Type Casting) 변수나 상수의 타입을 다른 타입으로 변경하는 것을 말한다. 인스턴스의 타입을 확인하거나, 인스턴스를 같은 계층에 있는 다른 슈퍼 클래스(상위)나 서브 클래스(하위)로 취급하는 방법이기도 하다. 타입 캐스팅은 is 와 as 연산자를 사용한다. is 연산자 특정 인스턴스의 타입을 확인하는 연산이다. 반환 타입은 Bool이다. let mystr : String = "Kimgahyun" mystr is Character // false mystr is String ..
[iOS - Swift] extension(확장) 에 대해 Swift에서 extension은 굉장히 많이 쓰인다. 어느 순간 나도 extension을 꽤나 많이 사용하고 있었다. 오늘은 효율적으로 개발을 할 수 있고, Swift에서 많이 활용되는 기능 중 하나인 '확장' 에 대해 알아보려고 한다. 확장 extension 이란? 기존의 클래스, 구조체, 열거형, 프로토콜 등에 새로운 기능을 추가하는 방법이다. 확장은 기존 타입의 정의를 수정하는 것이 아니라 확장된 기능을 제공한다. 즉, 기존 코드를 건드리지 않고 새로운 기능을 추가할 수 있는 아주 강력한 기능이다. 이러한 강력한 기능 확장을 통해 코드를 모듈화하고 확장성을 높이는 것이 가능하기 때문에 개발을 할 때 굉장히 효율적이다. extension이라는 키워드를 사용한다. 확장 extension 의 기능 메서..
iOS - MVC(Model-View-Controller) 패턴이란 무엇일까? iOS 개발에서는 여러 가지 디자인 패턴을 사용하여 앱을 관리하고 구조화한다. 그 중 가장 일반적이며 대표적으로 사용되는 MVC 패턴에 대해 알아보려고 한다. MVC (Model - View - Controller) MVC는 가장 기본적이고 일반적으로 사용되는 디자인 패턴이다. 앱의 구성을 세 가지 주요 구성 요소로 나누어 설계한다. Model : 앱의 데이터와 비즈니스 로직을 담당한다. View : 사용자 인터페이스를 표시하고 사용자의 입력을 처리한다. Controller : 모델과 뷰의 사이를 중재해준다. 사용자의 입력을 처리한다. Model 주로 struct와 class를 만든다. 앱이 가지는 데이터들을 담당한다. 예를 들어, 전화번호부이면 이름, 전화번호, 소속 등을 저장하고 이를 model에서 ..

728x90