목록iOS (42)
study record
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bJ7JQB/btruMpce2WU/hcAd7fTYjHz71TRthFK6zK/img.png)
offset을 쓸 때 "현재 뷰 constraint = 슈퍼뷰 constraint + offset 값”를 생각하고 세팅한다. button.snp.makeConstraints { make in make.top.equalToSuperview().offset(50) make.left.equalToSuperview().offset(50) make.right.equalToSuperview().offset(-50) make.bottom.equalToSuperview().offset(-50) } 기준이 되는 view에 맞추어서 제약을 설정한다. botton과 right는 마이너스 부호를 가지게 된다. inset을 쓸 때 button.snp.makeConstraints { make in make.edges.equalT..
iOS application states Not running : 그 앱이 시작되지 않았거나 시스템에의해 종료된 상태 Inactive : 앱이 포그라운드에서 동작하고 있지만 받은 이벤트가 현재 없는 상태. 앱이 다른 상태로 변화하기 때문에 이 상태에서 보통 짧게 머무른다. 잠깐 동안 inactive 상태에서 머무르는 시간은 유저가 화면을 닫았거나 시스템이 유저를 다른 이벤트에 반응하도록 하게 할 때이다. (문자나 전화가 온 경우) Active : 앱이 포그라운드에서 작동되고 이벤트를 받고 있는 상태. 포그라운드 앱들의 보통 상태이다. Background : 앱이 백그라운드에 있으며 코드가 실행되고 있는 상태. 대부분의 앱들은 종료되기 전에 짧게 이 상태에 들어간다. 그러나 엑스트라 실행을 요청하는 앱은 ..
rx를 활용해서 네비게이션을 하려는 과정에서 네비게이션 컨트롤러를 활용하는 것이 잘 작동하지 않았다. (코드로 UI를 구성 중이다.) 이 블로그를 참고하여 해결하였다. https://iamcho2.github.io/2021/03/28/navigation-controller-initial-setting SceneDelegate에 var window: UIWindow? var navigationController: UINavigationController? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method..
@IBDesinable 속성을 사용하면 인터페이스 빌더 수행을 라이브로 업데이트시킬 수 있다. IBDesinable은 UIView 클래스에서 잘 정의되기 위해 프레임을 필요로 한다. https://zeddios.tistory.com/270 이 블로그를 참고하면 IBInspectable과 IBDesinable 에 대한 이해도를 높일 수 있다. UIView를 활용할 때 테두리에만 디자인을 추가하고자 하는 경우가 생길 수 있다. 이 때의 borderWidth, borderColor를 지정하는 방법에서 두 가지를 사용한다. borderWidth 테두리 넓이를 지정하기 위해 새로운 cocoaTouch 파일을 만들고 View 에 할당한다. 이 코코아 터치 파일에서 @IBInspectable 을 활용하면 set연산을..