Xcode의 UITextField에 이미지를 추가 하시겠습니까?
dropdown
Xcode에서 의 개념을 구현해야합니다 .
이를 위해 UIPickerview
.
이 pickerView는 텍스트 필드를 탭할 때로드됩니다 (textFieldDidBeginEditing :) 이벤트.
질문:
이미지를 추가 할 수있는 방법이 TextField
있습니까?
이미지는을 dropdown
눌렀을 때 표시되는 것을 사용자가 이해할 수있는 화살표와 같은데 textfield
어떻게 만들 수 있나요?
UITextField에는 rightView
속성이 있습니다. 이와 같은 이미지가 있으면 ImageView 개체를 rightView로 쉽게 설정할 수 있습니다.
UITextField *myTextField = [[UITextField alloc] init];
myTextField.rightViewMode = UITextFieldViewModeAlways;
myTextField.rightView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"downArrow.png"]];
Swift에서 :
textField.leftViewMode = UITextFieldViewMode.Always
textField.leftView = UIImageView(image: UIImage(named: "imageName"))
당신 UIImageView
은 당신의 UITextField
.
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(96, 40, 130, 20)];
[textField setLeftViewMode:UITextFieldViewModeAlways];
textField.leftView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"searchIccon.png"]];
스위프트 3.0
txtField.rightViewMode = .always
txtField.rightView = UIImageView(image: UIImage(named: "selectdrop"))
이미지와 텍스트 필드 사이에 적절한 여백 / 패딩을 추가하려면 아래 코드를 시도하십시오. @ King-Wizard의 답변을 확장합니다.
여기 내 TextField의 높이는 44입니다. 참조를 위해 첨부 된 이미지를 확인하십시오.
Swift 버전 :
emailTF.leftViewMode = .Always
let emailImgContainer = UIView(frame: CGRectMake(emailTF.frame.origin.x, emailTF.frame.origin.y, 40.0, 30.0))
let emailImView = UIImageView(frame: CGRectMake(0, 0, 25.0, 25.0))
emailImView.image = UIImage(named: "image1")
emailImView.center = emailImgContainer.center
emailImgContainer.addSubview(emailImView)
emailTF.leftView = emailImgContainer
1 단계 : 이 클래스를 프로젝트에 추가하고 ID 검사기의 textFiled 클래스에 추가합니다.
class MyCustomTextField: UITextField {
@IBInspectable var inset: CGFloat = 0
@IBInspectable var leftImage: String = String(){
didSet{
leftViewMode = UITextFieldViewMode.Always
leftView = UIImageView(image: UIImage(named: leftImage))
}
}
override func textRectForBounds(bounds: CGRect) -> CGRect {
return CGRectInset(bounds, inset, inset)
}
override func editingRectForBounds(bounds: CGRect) -> CGRect {
return textRectForBounds(bounds)
}
override func leftViewRectForBounds(bounds: CGRect) -> CGRect {
return CGRectInset(CGRectMake(0, 2, 40, 40), 10, 10) //Change frame according to your needs
}
}
2 단계 : 인터페이스 빌더에서 텍스트 삽입 및 왼쪽 이미지를 설정합니다.
3 단계 : 즐기십시오.
드롭 다운보기를 원하신다면이 사용자 지정 드롭 다운보기를보십시오.
- http://code.google.com/p/dropdowndemo/downloads/list
- http://ameyashetti.wordpress.com/2010/09/26/drop-down-demo/
이 요구 사항에는 다음 코드를 사용하십시오.
UITextField *txtstate =[[UITextField alloc]init]; [txtstate setFrame:CGRectMake(10, 30,170, 30)];
txtstate.delegate=self;
txtstate.text=@"Fruits";
txtstate.borderStyle = UITextBorderStyleLine;
txtstate.background = [UIImage imageNamed:@"dropdownbtn.png"];
[txtstate setAutocorrectionType:UITextAutocorrectionTypeNo];
[self.view addSubview:txtstate];
텍스트 필드 테두리 스타일을 없음으로 설정하십시오.
UITextField에는 다음과 같은 속성이 있습니다.
@property(nonatomic, retain) UIImage *background
예:
UITextField *myTextField = [[UITextField alloc] init];
myTextField.background = [UIImage imageNamed:@"myImage.png"];
emailTextField.leftViewMode = .alway
let emailImgContainer = UIView(frame: CGRect(x: 0, y: 0, width: 30, height: 25))
let emailImg = UIImageView(frame: CGRect(x: 0, y: 0, width: 25, height: 25))
emailImg.image = UIImage(named: "SomeIMG")
emailImgContainer.addSubview(emailImg)
emailTextField.leftView = emailImgContainer
참고 URL : https://stackoverflow.com/questions/13508836/add-image-to-uitextfield-in-xcode
'Nice programing' 카테고리의 다른 글
Filezilla FTP 서버가 디렉토리 목록을 검색하지 못함 (0) | 2020.11.12 |
---|---|
onCheckedChanged가 자동으로 호출됩니다. (0) | 2020.11.12 |
Ruby의 문자열에서 숫자 추출 (0) | 2020.11.12 |
git에서 특정 커밋을 가리키는 모든 태그를 나열하는 방법 (0) | 2020.11.12 |
PostgreSQL : 기본 제약 이름 (0) | 2020.11.12 |