목록개발자료/iOS (9)
[위미르 개발팀] Android, iOS , Web 제작
Swift에서 UiWebView에 로컬에 존재하는 html 파일을 불러오는 방법입니다. guard let path = Bundle.main.path(forResource: "폴더명/파일명(확장자 제외)", ofType: "html") else { print("path is nil") return } let request_url = URL(string: path) let request = URLRequest(url : request_url!) self.webview.loadRequest(request) html파일을 이미지 파일과 함께 넣어놓은 폴더를 xcode 좌측 프로젝트 네비게이션창에서 소스파일이 있는 폴더내에 드래그앤드롭 했을때, 선택창이 나오는데 위와 같이 선택하시고 Finish를 눌러주신뒤 드래..
사용자에게 알림창을 띄워서 확인을 받는 방법입니다. 이전에는 UIAlertView를 사용하였으나, iOS8 버전부터 이것이 deprecate 되었습니다. 여전히 사용은 가능하지만 그래도 애플이 권장하는 방식인 UIAlertController를 사용하는것이 좋을것같습니다. 여기에는 제목을 설정하고 , 메시지 그리고 확인버튼과 취소버튼을 만들어서 달아줄수 있습니다. let alert = UIAlertController(title: "제목", message: "확인 메시지", preferredStyle: .alert) let cancelAction = UIAlertAction(title: "취소", style: .cancel){ (action : UIAlertAction) -> Void in self.dism..
뷰에 이미지를 넣을때 권장사이즈보다 클경우 이미지가 찌그러져 보이는 경우와 크기를 줄여서 업로드 해야 하는 경우가 있습니다. 이럴때 원본사이즈를 줄여서 넣는것은 번거롭고 그게 불가능한 경우가 있으므로 UIImage 변수로 가지고 있다면 이를 스위프트 코드상에서 해결할수 있습니다. // 원본 이미지 org_image var new_image : UIImage! let size = CGSize(width: 리사이즈 넓이 , height: 리사이즈 높이 ) let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height) UIGraphicsBeginImageContextWithOptions(size, false, 1.0) image.draw(in: r..
안드로이드에 GridView, RecyclerView가 있다면 iOS에는 UICollectionView가 있습니다. 이는 화면에 격자로 아이템을 배치하거나 할때 사용 합니다. 이를 구성하기 위해서는 셀 클래스와 UICollectionView의 셀 속성 그리고, 안드로이드의 아답터에 해당되는것들이 필요합니다. 먼저 UICollectionView의 셀 속성입니다. let layout : UICollectionViewFlowLayout = UICollectionViewFlowLayout() layout.itemSize = CGSize(width: self.view.frame.width , height: self.view.frame.height/3) layout.scrolldirection = .horizont..
Swfit3에서 뷰에 클릭 리스너를 설정할때는 버튼과 일반 뷰 두가지경우가 있고 설정 방법이 다릅니다. 먼저 버튼의 클릭 리스너 설정 방법입니다. let button : UIButton = UIButton(frame : CGRect(x: 0 , y: 0, width: 100, height: 30)) button.setTitle = ("버튼", for: UIControlState.nermal) button.addTarget(self, action: #selector( 리스너 함수 ), for: UIControl.touchUpinside) 저는 button 이라는 UIButton 객체를 임의로 생성하여 리스너를 설정하였습니다. 버튼은 바로 addTarget이라는 메서드를 사용하여 리스너를 설정할수 있고, f..
iOS의 UIScrollView에서 특정위치로 스크롤할때는 다음 함수를 사용할수 있습니다. scrollView.setContentOffset(CGPoint, animate:Bool) CGPoint는 x,y 값을 가지고있는 자료형으로써 사실상 좌우로 스크롤할일은 거의 없으니 y값만 위치에 맞게 설정 해주시면 됩니다. 사용법은 다음과 같습니다. scrollView.setContentOffset(CGPoint(x: 1 ,y: 400), animate: true) 맨위의 시작점이 y값 0에서 400으로 바뀌는데 이함수가 동작하면서 스크롤하는 동작을 보여주도록 되어있습니다. 만약 그러한 애니메이션과정 없이 결과만을 원한다면 animate에서 false로 설정하시면 됩니다. 저희 위미르에서는 모바일 어플리케이션(A..
자바에서는 문자열안에 값을 넣을때 "문자열1" + 값 + "문자열 2" 와 같은 형식을 사용합니다. 하지만 스위프트에서는 이렇게 하지않고 다른방법을 사용합니다. 문자열 안에 \(값) 와 같은 형식을 사용하면 되는데 예시를 들어보겠습니다. let val1 : Int = 24 let str1 : String = "오늘은 \(val1)일 입니다." 역슬래시와 괄호를 쓰고 값을 넣고 닫아주시면 됩니다. 그리고 다른종류의 값들을 String형으로 변경할때는 자바에서는 1+""와 같은 방식을 사용하면 편리했지만 스위프트는 다음과 같습니다. let val1 : Int = 24 let str1 : String ="\(val1)" 빈 문자열안에 값을 넣어주어서 원래의 값 그대로 문자열로 바뀝니다. 반대로 String으로..
iOS는 스토리보드에서 레이아웃을 설정할수 있지만 코드상에서 뷰를 생성하고 설정할수도 있습니다. 이번 포스팅에서는 코드상에서 뷰를 생성하는 방법에 대해서 쓰도록 하겠습니다. 먼저 생성할 뷰의 객체를 생성합니다. var view : UIView! var label1 : UILabel! var label2 : UILabel! view = UIView(frame : CGRect(x: 0, y: 0, width: 100, height: 100)) label1 = UILabel(frame : CGRect(x: 10, y: 10, width: 0, height: 0)) label2 = UILabel(frame : CGRect(x: 0, y: 10, width: 0, height: 0)) label1.text = "..
cocoapods은 xcode를 사용하여 개발을 할때 라이브러리들을 추가 하는 방법중의 하나 입니다. cocoapods은 프로그램이므로 먼저 설치를 해주어야 합니다. 런치패드에서 터미널을 찾아서 실행합니다. 만약 터미널을 평소에 사용하지 않아서 어디 있는지 모르겠다 하시는분들은 기타 폴더내에 찾아보시면 있습니다. 그리고 터미널에 설치를위한 명령어를 입력합니다. sudo gem install cocoapods 무언가 다운로드 되는과정이 콘솔창에 표시될것입니다. 다되고 나면 다음을 입력합니다. pod setup 그리고 라이브러리를 추가할 프로젝트로 이동합니다. 윈도우의 cmd이든 명령어 기반의 리눅스이든 사용해보지 않으신분들은 다음의 명령어만 알고 계시면 됩니다. ls : 현재 위치한 디렉터리의 파일/폴더 ..