스토리보드 삭제
스토리보드를 여태 안지우고 화면 클래스 이름과 맞춰서 사용하고 있었는데 ..
원래 스토리보드 안쓸라면 그냥 지우고 사용하면 되는 것이었다.
1. Main.storyboard 삭제 (Move to Trash)
2. info.plist
Application Scene Manifest
> SceneConfiguration
> Application Session Role
> Item 0
> Storyboard Name String Main -> 삭제! ( - 눌러서 완전히 지워준다.)
3. SceneDelegate 설정 (iOS 13 이상)
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: UIScreen.main.bounds)
window?.windowScene = windowScene
window?.rootViewController = MainTodoViewController() // 시작할 뷰컨트롤러 (Is Initial View Controller)
window?.makeKeyAndVisible()
}
4. 여기까지 했는데도 Main이 없다고 에러가 발생할 때
프로젝트 설정의 Tartget (프로젝트) - General - Deployment Info - Main interface 이 Main으로 되어있는지 확인해보자.
Main으로 되어있다면 빈칸으로 설정해두고 실행한다.
5. 화면이 검정색으로 나온다면 view의 backgroundColor 를 설정해보자
메인화면 UI
예상화면
원래 이름 수정 버튼이 라벨의 오른쪽에 있었는데,
자주 사용하는 버튼이 아니고 잘못 입력한 것이 아니면 사용할 일이 없기 때문에 메뉴 버튼에 넣기로 하였다.
스택뷰를 사용하여 [ UILabel, UIButton, UIButton ] 을 넣어서 구성하였다.
고려해야할 점
1. Label 의 크기가 달라질 때 -> sizeToFit() 함수 사용
2. Label의 크기가 길 때, ... 으로 표시 or 두번째 줄까지 표시 -> Font 설정 후 다시 보기
3. 오른쪽 끝으로 버튼을 설정한 적은 없는데 어떻게 알맞게 화면에 띄워줬는지?
스택뷰 찾아보기
참고
'iOS > PROJECT' 카테고리의 다른 글
[두깃] 재밌는거 하는날 (0) | 2022.04.13 |
---|---|
[두깃] 오류 고치는 날 (constraint, Realm migration) (0) | 2022.04.11 |
[두깃] 깃허브 유저 정보 확인하기 (2022.04.08) (0) | 2022.04.09 |
[두깃] 시작화면 UI (2022.04.07) (0) | 2022.04.07 |
[소리마당 Proj] OX Quiz 구현 (0) | 2021.08.15 |