티스토리 뷰
안녕하세요 :) Zedd입니다.
오늘은.................제가 조금 고생했던 ㅎ_ㅎ...Textfield에 Static Prefix만들기입니다.
시작할게요.
UITextfield에 Static Prefix를 넣고싶다면...
네..ㅎㅎ...
구글에 Textfield static prefix라고 치면
이 글이 나오죠.
네...코드를 보면...보면..진짜....얼마전에 이 글을 쓴것도 다 이거 쓰다가 나비효과로.....쓰게 된 글입니다.
실험 몇가지를 하다가 ㅎㅎ..
그래 range.location + range.length를 더한게 max length를 넘으면 왜 false야?????????이런 궁금증부터 시작해서...일단 코드가 굉장히 더럽죠?
제가 이렇게 짜서 남한테 보여줬다고 생각해봅시다.
그 사람이 이걸 보고 "아 이건 지우지 못하는 Prefix를 만들어주는 작업이구나! 정말 대단할걸..!!!"이라고 생각하게 만들 수 있을까요?
제가 볼땐 이게 지우지 못하는 Prefix를 만든다는 것도 모를지도 모릅니다...
그래요..이렇게 해도 되지만...누군가의 도움을 받아 다른 방법을 찾았습니다..!!
바로 이겁니다.
Textfield안에 label넣기...!!!!!!!!!!!!!!!!!!!!!!!!!!111!
진짜 제가 왜 이생각을 못했을까여ㅛ 진짜..
Q : ;;;;아니 Textfield가 왼쪽에서 시작하는데.....저 Prefix 길이만큼 떨어져 있어야 할 거 아니에요....;;
A : 네 :) Textfield에 Padding을 주면 됩니다.
viewDidLoad에 아래 코드를 추가해주세요.,
let leftPaddingView = UIView(frame: CGRect(x: 0, y: 0, width: myPrefixLabel.frame.width, height: 44))
self.myTextfield.leftView = leftPaddingView
self.myTextfield.leftViewMode = .always
paddingView를 만드는 작업에 집중을 해주셔야 하는데요. width를 제 prefixLabel의 width를 준 거 보이시죠?
이렇게 해주면...!!!
조금 감쪽같나요?????XD....
당연히 지울 수 없겠죠?...
이런생각이 드실 수 있겠네요.
"이런...너무나도 원시적이랄까...전혀 개발자스럽지않아.."
제가 절대로
이렇게 하지 말라는게 아닙니다. 근데..너무 코드가 복잡해져서..
저는 Label을 붙히는게 나쁘지 않다고 생각해요! 그냥 이런방법도 있다~~라고 생각해주시면 좋을 것 같아요.
그리고 이렇게 Label로 하게 되면 엄청난 단점이 하나 존재하는데 바로 Constraint입니다.
TextField가 Label을 품는? 그런 형태는 절대 아니구요.
그냥 Textfield위에다가 Label을 얹힌거?라고 보시면 될 것 같아요.
그래서 SuperView와의 관계처럼 그런식으로 Constraint를 못줍니다..
뭔가 좀 안맞죠? 저 Label위치에 대한 나노 컨트롤이 필요합니다.
나노컨트롤으로만 하면 안되겠죠..?그래서
저는 View안에 Textfield와 Label을 넣어서 Constraint를 줬어요.
사실 이 코드도 함수로 따로 만들어서 Bool을 리턴하도록 해주면 이 Textfield자체에 대한 코드는 깔끔해보이겠죠?
대신 함수 이름을 아주 잘 지어야겠죠.ㅎㅎ..
아무튼 그냥!! 이런방법도 있다는 거고 ㅎㅎ...이런 방법을 보면 정말 화가난다하시는 분들은..개선할 방법을 댓글로 달아주시면 감사하겠습니다 :)
사실
'iOS' 카테고리의 다른 글
iOS ) 내 App의 데이터 보기 (0) | 2018.02.23 |
---|---|
iOS ) Apple의 Sandbox정책과 Files앱 (1) | 2018.02.21 |
iOS ) CAEmitterCell 프로퍼티 정리 (0) | 2018.02.17 |
iOS ) shouldChangeCharactersIn range / NSRange (3) | 2018.02.16 |
iOS ) UIButton에 이미지를 넣었는데 안보일때 (0) | 2018.02.10 |
- swift 공부
- WWDC
- swift3
- WKWebView
- swift sort
- IOS
- SwiftUI
- 피아노
- github
- actor
- swift tutorial
- FLUTTER
- 스위프트
- 스위프트 문법
- Xcode
- Git
- np-complete
- iOS delegate
- fastlane
- np-hard
- 제이슨 파싱
- swift array
- WidgetKit
- swift delegate
- 회고
- UIBezierPath
- Combine
- Swift
- ios 13
- Accessibility
- Total
- Today
- Yesterday