답변:
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
둥근 사각형 테두리 스타일의 높이를 변경할 수 없습니다. 높이를 설정하려면 Xcode에서 둥근 테두리 이외의 테두리 스타일을 선택하십시오.
나는 마침내 이것에 대한 해결책을 찾았다!
우리가 알다시피, IB는 둥근 모서리 테두리 스타일의 높이를 변경할 수 없습니다. 다른 스타일로 변경하고 원하는 높이를 설정하십시오. 코드에서 테두리 스타일을 다시 변경하십시오.
textField.borderStyle = UITextBorderStyleRoundedRect;
viewWillLayoutSubviews
. 나는 leftView
텍스트 필드와 일부 텍스트에 이미지를 추가했으며 ,이 작업이 끝나면 viewDidLoad
이상하게 늘어납니다.
textField.borderStyle = .RoundedRect
자동 레이아웃을 사용하는 경우 스토리 보드에서 자동 레이아웃을 수행 할 수 있습니다.
텍스트 필드에 높이 제한을 추가 한 다음 높이 제한 상수를 원하는 값으로 변경하십시오. 단계는 다음과 같습니다.
1 단계 : 텍스트 필드의 높이 구속 조건 작성
2 단계 : 높이 구속 조건 선택
3 단계 : 높이 구속 조건 상수 값 변경
borderStyle
아무것도를 제외하고 둥근. Editor -> Size to Fit Content
레이아웃이 그 일을하도록 사용하십시오 . UITextField
높이를 확인 하려면 속성 관리자를 사용하십시오 . 이것을 사용하여 높이 제한을 설정하면 이제 borderStyle
둥근 모서리로 다시 변경할 수 있습니다 .
1.) InterfaceBuilder에서 테두리 스타일을 변경하십시오.
2.) 그런 다음 크기를 변경할 수 있습니다.
3.) TextField에 IBOutlet을 viewDidLoad()
만들고 BorderStyle을 다시 변경하려면 다음 코드를 입력하십시오 .
textField.borderStyle = UITextBorderStyleRoundedRect;
스위프트 3 :
textField.borderStyle = UITextBorderStyle.roundedRect
모서리에서 둥근 모서리를 설정하십시오
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
이 두 가지 간단한 단계를 따라 높이를 높이십시오 UItextField
.
1 단계 : XIB 파일을 마우스 오른쪽 버튼으로 클릭하고 "소스 코드"에서와 같이 엽니 다.
2 단계 : 동일한 UITextfield
소스를 찾고 원하는대로 프레임을 설정하십시오.
이 단계를 사용하여 모든 Apple 컨트롤의 프레임을 변경할 수 있습니다.
iOS 6 업데이트 : 자동 레이아웃 사용, 여전히 인터페이스 빌더의 크기 검사기에서 UITextField의 높이를 설정할 수는 없지만 (최소한 Xcode 4.5 DP4 기준) 이제 높이 제약 조건을 설정할 수 있습니다 인터페이스 빌더에서 편집 할 수 있습니다.
또한 코드로 프레임 높이를 설정하는 경우 자동 레이아웃은 뷰의 다른 제약 조건에 따라 프레임을 재설정 할 수 있습니다.
@IBDesignable
class BigTextField: UITextField {
override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
borderStyle = .roundedRect
}
}
}
UITextField
와 함께 BigTextField
.Border Style
에를 none
.이 바보 같은 문제에 대한 나의 한심한 기여. IB에서 스타일을 none으로 설정하여 높이를 설정할 수 있고, IB에서 클래스를 UITextField
스타일의 둥근 클래스로 만드는 하위 클래스로 설정하십시오 .
@interface JLTForcedRoundedRectTextField : UITextField
@end
@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
self.borderStyle = UITextBorderStyleRoundedRect;
}
@end
XIB 파일을 해킹하거나 스타일 컨트롤러를 뷰 컨트롤러에 작성하지 않아도되었습니다.
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[txt setText:@"Ananth"];
[self.view addSubview:txt];
마지막 두 인수는 너비와 높이이며 원하는대로 설정할 수 있습니다 ...
텍스트 필드의 프레임 속성을 사용하여 프레임을 변경할 수 있습니다. Like-Textfield.frame = CGRECTMake (x 축, y 축, 너비, 높이)
이것은 매우 간단합니다.
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
텍스트 필드를 gloabal 속성으로 선언하고 코드에서 원하는 위치로 프레임을 변경하십시오.
행복한 코딩!
많은 것을 생성하는 경우을 UITextFields
서브 클래스 화 UITextView
하고 setFrame 메소드를 재정의하는 것이 더 빠를 수 있습니다
-(void)setFrame:(CGRect)frame{
[self setBorderStyle:UITextBorderStyleRoundedRect];
[super setFrame:frame];
[self setBorderStyle:UITextBorderStyleNone];
}
이 방법으로 전화 할 수 있습니다
[customTextField setFrame:<rect>];