본문 바로가기

iPhone3

UIEdgeInsets 없이 UILabel에 여백 넣기 UILabel에 여백을 넣는 방법은 다양하다. 그 중 NSLayoutConstraint를 이용하는 법을 다뤄보자! class FitLabel: UILabel { //상하좌우 여백 storyboard 입력값 @IBInspectable var edge: CGSize = CGSize(width: 0, height: 0) //너비, 높이가 적용될 Constraint private var mWidthConstraint, mHeightConstraint: NSLayoutConstraint? //좌우 여백값 var edgeAllWidth: CGFloat { return edge.width * 2 } //상하 여백값 var edgeAllHeight: CGFloat { return edge.height * 2 } ove.. 2018. 5. 8.
UIButton 이미지를 손쉽게 정렬하자~ 아이폰 Swift에서 UIButton 안의 이미지를 원하는 위치에 두려면 Edge Inset을 이용하여 좌우상하에 여백을 줘야 한다 여간 귀찮고 불편한 일이 아닐 수 없다 그래서 좀 더 편하게 이미지를 옮기는 방법을 소개한다 원리는 무지 간단하다 Edge Inset를 가로,세로 기준으로 이미지 크기와 함께 각각 계산해 주면 된다 왼쪽 정렬 (L: 왼쪽 여백, R: 오른쪽 여백, M: 여백, IW: 이미지 너비, BW: 버튼 너비) 가운데 정렬 이 두가지 경우만 이용하면 나머지 정렬도 모두 가능하다 코딩하면 다음과 같다 class ImageButton: UIButton { //가로 정렬 기준 (-1: 왼쪽, 0: 가운데, 1: 오른쪽) @IBInspectable var horizontal: Int = 0 .. 2017. 5. 30.
이미지를 회전시키고 재사용하는 꿀팁 프로그램 안에서 같은 이미지를 여러곳에 사용할때! 그것도 회전시켜 사용할때! 원본 이미지의 회전된 이미지를 테이블안에 넣어 사용하면 간편하고 빠르다. 물론 메모리를 좀 차지하고, 요즘 디바이스도 워낙 좋아져 속도도 별반 차이 없겠지만 그래도 엄청 많은 곳에 엄청 빈번하게 회전 이미지를 사용할때는 유용하다ㅋ class RotateImageTable { let mSrcImage: UIImage let mUnit: CGFloat var mImages: [Int: UIImage] init(srcName: String, unit: CGFloat) { mSrcImage = UIImage(named: srcName)! //원본 이미지 mImages = [Int: UIImage]() //이미지 테이블 mUnit = u.. 2017. 2. 22.