iOS/PROJECT (24) 썸네일형 리스트형 [두깃] 오류 고치는 날 (constraint, Realm migration) constraint 오류 화면상으로는 문제가 되지 않았는데 콘솔창에 발생한 오류 [LayoutConstraints] Unable to simultaneously satisfy constraints. 동시에 만족하지 않는 제약이 있다고 한다. "", "" 상당히 친절했다. 버튼의 높이는 28인데 스택뷰의 높이는 40이라고한다. -> 스택뷰의 alignment 를 .fill 이 아니라 .center 로 바꿔주어 해결하였다. Realm migration 유저 정보를 Singleton -> Realm 으로 변경하려는데 콘솔창에 프로퍼티를 변경했다고 마이그레이션이 필요하다고 떴다. Migration is required due to the following errors 마이그레이션이 정확히 뭔지 알아보고 적용하기.. [두깃] 스토리보드 삭제, 메인화면UI 스토리보드 삭제 스토리보드를 여태 안지우고 화면 클래스 이름과 맞춰서 사용하고 있었는데 .. 원래 스토리보드 안쓸라면 그냥 지우고 사용하면 되는 것이었다. 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 connectionO.. [두깃] 깃허브 유저 정보 확인하기 (2022.04.08) 유저 정보: Singleton 패턴 깃허브에서 필요한 정보가 유저이름과 저장소라서 둘다 Realm 객체로 생성하여 저장하려고 했으나 유저이름은 간단하게 저장, 확인, 수정만 할 것이라서 굳이 DB에 저장하지 않아도 된다고 생각하여.. singleton 패턴을 사용하기로 결정 -> 바보였다. Singleton 패턴은 앱 종료시 사라진다. 다시 Realm에 저장하도록 하자. Github API : 존재하는 유저인지 https://docs.github.com/en/rest/reference/users Users - GitHub Docs Users The Users API allows to get public and private information about the authenticated user. Man.. [두깃] 시작화면 UI (2022.04.07) 개인프로젝트 시작.. 런치스크린 디자인 구상은 일단 두고 필요한 기능부터 구현하기로 하였다. 우선 앱을 처음 실행했을 때 시작화면의 UI부터 구현하기로 하였다. 이번 개인프로젝트는 스토리보드 없이 코드로 구현해보기로 결심했다.. NSLayoutConstraint.activate() Constraint 를 설정하는 코드는 NSLayoutConstraint.activate() 를 사용하여 이 부분이 constraint를 잡아주는 곳이라는 가독성을 높여보았다. isActive = true 를 작성하지 않아도 된다. // MARK: titleLabel titleLabel.text = "Github의 Name을 입력해주세요." titleLabel.translatesAutoresizingMaskIntoConstra.. [소리마당 Proj] OX Quiz 구현 Quiz List JSON 형식으로 받아오기 Alamofire, SwiftyJSON 사용 사용한이유: 다른 데이터를 가져오는 코드보다 정말.. 간단 ㅎㅎ 했습니다.. [JSON] 형식으로 가져왔습니다. viewWillAppear 함수에서 퀴즈리스트를 게임 시작 시에 가져왔습니다. func requestQuizList() { AF.request(quizURL).responseJSON { response in if let value = response.value { let quizList = JSON(value).arrayValue self.quizList = quizList self.setQuiz(1) } } } issue quizURL 설정 중에 http:// 를 붙이지 않아 데이터를 불러오지 못한 상황.. [소리마당 Proj] 마이페이지 구현 View에 그림자 추가 func setShadowProfileView() { profileView.layer.shadowOffset = CGSize(width: 5, height: 5) profileView.layer.shadowOpacity = 0.1 profileView.layer.shadowRadius = 10 } shadowOffeset: 현재 위치에서 얼마나 떨어진 곳에 그림자를 위치시킬 것인지 CGSize 로 설정해줍니다. shadowOpacity: 그림자의 불투명한 정도 shadowRadius: 그림자의 모서리 조절 애플로그인, 구글로그인 버튼 추가 / 로그인은 미구현 ➡️ 구글로그인을 채택한 이유: 국악에 관심있는 전세계 사람들을 타겟으로 했기 때문에 외국인들도 쉽게 이용할 수 있는 구글로.. [소리마당 Proj] 메인화면 구성, 테이블뷰 segue 넘기기 혼자하려니 진도가 정말정말 느리다 ㅜ_ㅜ 화이티이이잉 알게된 것 xib으로 tableViewCell을 커스텀하였습니다. 세로길이를 고정시키기 위해서 viewDidLoad()에 코드 작성하였습니다. heightForRowAt 은 왜 안썻지.. self.gameTableView.rowHeight = 128 Cell의 갯수만큼만 line(선)을 표시하였습니다. ➡️ Cell 의 배경색이 지정되어 있어서 충분히 구분감을 주기 때문에 굳이 선을 표시할 필요가 없어 후에 선을 지우게 되었습니다. self.gameTableView.tableFooterView = UIView() 네비게이션 바를 투명하게 하는 코드 ➡️ 네비게이션의 타이틀만 표시하기 위해서 작성하였습니다. func clearNavigationBar.. [소리마당 Proj] ~런치스크린, 회원가입, 로그인 페이지 구현 DB를 제외하고 구현시 알게된 사실들을 적어놓습니다. 런치스크린에서 커스텀 글꼴은 적용이 되지않습니다. Apple은 스토리보드(또는 .xib) 파일을 시작 화면으로 사용할 경우 사용할 수 있는 항목에 대해 몇 가지 극단적인 제한을 두었습니다. 사용자 정의 글꼴은 화면이 표시될 때 아직 로드되지 않았기 때문에 허용되지 않는 것 중 하나라고 추정된다고 합니다. 따라서 png 사진을 넣어 두는 것이 최선이라고 합니다. cornerRadius 모서리를 바꾸는 것은 코드로만 가능합니다. textField 의 글자수를 제한하는 것은 UITextFieldDelegate 를 채택하여 구현할 수 있습니다. extension SignUpViewController: UITextFieldDelegate { func textF.. 이전 1 2 3 다음