본문 바로가기
728x90
반응형
[iOS/UI] UITableView 자체 Height 설정하기 (NSLayoutConstraint) TableView의 Row행 말고 그 자체의 높이를 정해야 할 때가 있다. 그래서 찾아본 결과 TableView Height를 바꾸려면 Storyboard에서 height를 설정해주고 그 NSLayoutConstraint을 해당 뷰에 연결해주고 그 아웃렛에서 .constant = 원하는 값을 해주면 설정된다. 2019. 12. 12.
[iOS] CollectionViewCell 좌측으로 정렿라기 콜렉션뷰에서 item간 minspacing을 정해주어도 셀크기에 따라 스페이싱이 달라졌다. 구글에 검색해본 결과 콜렉션뷰를 좌측에 배열해야한다는 사실을 알았다. 그래서 아주 좋은 라이브러리인 DGCollectionViewLeftAlignFlowLayout를 찾았다. 아주 간단하고 사용하기 쉬웠다. pod 'DGCollectionViewLeftAlignFlowLayout' //팓파일에 추가 import DGCollectionViewLeftAlignFlowLayout //임포트 해당클래스에 UICollectionViewDelegateFlowLayout딜리게이트를 추가해준다. override func viewdidload()나 override func awakeFromNib()// 이곳에 아래 추가 colle.. 2019. 12. 11.
[iOS/UI] Readmore 구현하기 이렇게 변수들을 선언해놓고 class Main: UITableViewController { var headerheight = 215 var headerheights = [Int : Int]() var moreless = "more" var moreindex = 100 var morearray = [Int]() 우선 셀 안의 버튼에 addTarget 해준다. action안에는 설정해놓은 함수를 집어넣는다. cell.morebtn.addTarget(self, action:#selector(Main.more(sender:)) , for: UIControl.Event.touchUpInside) 설정해놓은 more이라는 함수 안에 높이를 알아내는 함수 heightForView를 이용해 길이를 알아내고 sender.. 2019. 12. 11.
[iOS/UI] UIAlertController 글씨색바꾸기 let alertController = UIAlertController(title: "", message: "", preferredStyle: .alert) let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { (action) in // Cancel버튼 눌렀을 때 뭐할거야 } alertController.addAction(cancelAction) let OKAction = UIAlertAction(title: "OK", style: .default) { (action) in } OKAction.setValue(UIColor(displayP3Red: 162/255, green: 32/255, blue: 58/255, alpha: 1), f.. 2019. 12. 11.
[Swift] keyword를 이용해서 검색하는 법 코드를 붙여넣을 수 있다는 걸 처음 알았다. let recipes = ["Put eggs in a frying pan", "Cut the beef", "Boil the beef"] let keyword = "beef" func search(recipes:[String],keyword:String) -> [String]{ var foundRecipes = [String]() for recipe in recipes{ if recipe.contains(keyword) == true { foundRecipes.append(recipe) } } return foundRecipes } var a = search(recipes: recipes, keyword: "egg") 내가 생각한 핵심은 contains와 app.. 2019. 12. 5.
[iOS/UI] UILabel 특정 부분에 밑줄 긋기 wholeStr에 원하는 전체텍스트를 써주고 그리고 rangeToUnderLine엔 wholeStr중 밑줄을 원하는 부분을 적었다다 (range(of:) 이곳에) let rangeToUnderLine = NSRange(location: 0, length: 10)) 2019. 12. 4.
[iOS/UI] UITabbar 가운데에 버튼 넣기 탭바를 이용하다보면 가운데나 혹은 다른 곳에 버튼처럼 놓고싶을 때가 있습니다. 하지만 탭바는 눌렀을 때만 그 안에 색상을 변경할 수 있어서 버튼을 따로 추가해줘야하는데요 이것을 할 수 있는 방법을 소개해드리겠습니다! 첫번째로 UITabbarController를 행성해줍니다. 그리고 setupMiddleButton이라는 함수를 만들어 그 안에 menuButton을 하나 만들어줍니다. 그 뒤 배경색을(backgroundColor) 정하고 원하는 이미지(setImage)를 넣어줍니다. 이미지를 어떤 형식으로 채워넣을 것인지도 설정해줍니다.(contentMode) 그리고 버튼을 누를 수 있게 addTarget을 설정해주고 셀렉터 안에 menuButtonAction함수를 넣어줍니다. 그 뒤에 코드는 휴대폰마다 화.. 2019. 11. 26.
[iOS] 화면전환시 풀스크린으로 만들기 (modaPresentaionStyle FullScreen) 화면 이동을 할 때 화면이 쌓이면서 화면이 약간 아래로 가는 현상을 겪게 되었다. 나는 화면을 꽉 채우고싶은데 어떻게 해야하지 하며 구글링을 하다가 해답을 찾았는데 2가지가 있다. 첫번째는 해당 뷰컨드롤러의 Presentaion을 Full Screen으로 바꿔주는 것이다.(원래는 Automatic이라 되어있는데 오토매틱으로 되어있으면 저 위 화면처럼 나오게 된다.) 코드로 화면을 이동할 때는 저 modaPresentaionStyle을 .fullScreen으로 해주면 된다. 코드나 스토리보드에서 바꾼 결과 화면이 꽉 차게 되었다. 2019. 11. 25.
Firebase를 이용한 User 생성 및 Firestore에 유저데이터 저장 podfile에 위와 같이 추가 해준 뒤 터미널에서 해당 프로젝트가 있는 폴더에 이동한 뒤 pod install을 해주고 그리고 Appdelegate로 이동한 뒤 Firebase를 import해준다, 그 다음 위 함수로 이동한 뒤 FirebaseApp.configure()을 해주고 회원가입 페이지로 이동해서 위 두개를 import해준 뒤 회원가입버튼 누르는 곳에 위와 같은 함수를 추가 해주면 끝! let db = Firestore.firestore()은 데이터를 파이어스토어에서 가져온단 의미 위와 같이 저장된다. 거기에 collection의 이름은 "users"이고 그 안에 document의 이름은"가입하는 이메일"로 그 안에 email,name이라는 필드에 각 각 이름과 이메일을 넣어준다는 뜻 2019. 11. 23.
Firebase를 이용한 비밀번호 재설정 이메일 보내기 FirebaseAuth를 import 해준 뒤 위 코드 withEmail: 찾을 비밀번호 이메일을 적어주면 위 이메일로 이러한 링크가 온다. 링크를 클릭하면 비밀번호를 재설정하라고 뜬 뒤 새로운 비밀번호를 적어주면 비밀번호가 재설정된다. 2019. 11. 23.
728x90
반응형