-
(iOS) 스토리 보드 없이 ImageView,TextView 구성하기(기초)Programing Language/iOS(Swift) 2019. 10. 29. 10:54728x90반응형
(코드를 읽어보시면 어떻게 구성되었는지 알 수 있습니다.)
1. UIImageView 넣기
class ViewController: UIViewController { //let's avoid polluting viewDidLoad //{} is referred to as closure, or anon. functions // ImageView의 설정값을 이 안에 넣는다. let bearImageView : UIImageView = { let imageView = UIImageView(image : #imageLiteral(resourceName: "cat")) <-이 함수를 사용하는 방법은 image Literal 이다. imageView.translatesAutoresizingMaskIntoConstraints = false imageView.contentMode = .scaleAspectFit return imageView }() override func viewDidLoad() { super.viewDidLoad() //addSubView는 레이아웃안에 앞에서 상수로 설정한 뷰 오브젝트를 넣는 다는 말이다. view.addSubview(wirtetextField) setupLayout() } // 이 메서드는 viewDidLoad 앞에 constraint를 모두 설정하면 보기가 안좋기 때문에 메서드로 분리하여 사용한다. private func setupLayout(){ //1. 보통 topAnchor, leaingAnchor, trailingAnchor, bottomAnchor로 4방향으로 제약을 걸어준다. //2. safeArea에 제약을 기준으로 제약을 걸려면 equalTo 에 view.xxxAnchor로 적어준다. //3. 마지막으로 제약 설정이끝나면 isActive로 활성화시켜준다. bearImageView.centerYAnchor.constraint(equalTo: topImageContainerView.centerYAnchor).isActive = true bearImageView.centerXAnchor.constraint(equalTo: topImageContainerView.centerXAnchor).isActive = true bearImageView.heightAnchor.constraint(equalTo: topImageContainerView.heightAnchor, multiplier: 0.5).isActive = true }
2. TextView 넣기(+ 패딩)
class ViewController: UIViewController { let descriptionTextView : UITextView = { let textView = UITextView() //attributedText <- 이걸 쓸려면 밑에 상수(attributedTExt)랑 textView.attributedText 랑 한 세트다. let attributedTExt = NSMutableAttributedString(string: "Join us today in our fun an games!", attributes : [NSAttributedString.Key.font: UIFont.boldSystemFont(ofSize: 18)]) textView.textColor = .brown //textView.text = "Join us today in our fun an games!" textView.attributedText = attributedTExt textView.translatesAutoresizingMaskIntoConstraints = false ///textView.font = UIFont.boldSystemFont(ofSize: 18) textView.textAlignment = .center textView.isEditable = false textView.isScrollEnabled = false return textView }() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. view.backgroundColor = .white //스토리보드에 object넣는 메서드는 addSubview 이다!! view.addSubview(descriptionTextView) setupLayout() } private func setupLayout(){ descriptionTextView.topAnchor.constraint(equalTo: bearImageView.bottomAnchor, constant: 120).isActive = true descriptionTextView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true descriptionTextView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true //textView에서 패딩 넣기 descriptionTextView.textContainerInset = UIEdgeInsets(top: 0, left: 100, bottom: 0, right: 10) }
728x90반응형'Programing Language > iOS(Swift)' 카테고리의 다른 글
(iOS) Storyboard없이 오브젝트 넣을때 유용한 메서드(anchor) (0) 2019.10.29 iOS) UITextField 패딩 넣기 (0) 2019.10.29 (iOS) 스크롤 뷰란? (0) 2019.10.28 (iOS) OperationQueue를 활용하여 비동기 프로그래밍 해보기 (0) 2019.10.28 (iOS) TableView에서 사진 삭제하기 후 정렬하기 (0) 2019.10.28