iOS 의 다양한 UI 컨트롤 속성 설정 예시 코드
// , ui
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view.
// UILabel
UILabel *lb = [[UILabelalloc]initWithFrame:CGRectMake(0,20,300,200)];
//
lb.text =@"label ui story i ";
//
lb.backgroundColor = [UIColorcolorWithRed:0green:191.0/255.0blue:243.0/255.0alpha:1.0];
//
lb.textColor = [UIColorwhiteColor];
// ,
lb.font = [UIFontsystemFontOfSize:25];
NSLog(@" :%@",lb.font.familyName);
//
NSArray *arrFonts = [UIFontfamilyNames];
NSLog(@" :%@",arrFonts);
//
lb.textAlignment =NSTextAlignmentJustified;
// NSTextAlignmentLeft = 0, // ,
// NSTextAlignmentCenter = 1, //
// NSTextAlignmentRight = 2, //
// NSTextAlignmentJustified = 3, // Fully-justified. The last line in a paragraph is natural-aligned.
// NSTextAlignmentNatural = 4, // Indicates the default alignment for script
//
lb.lineBreakMode =NSLineBreakByCharWrapping;
// NSLineBreakByWordWrapping = 0, // ( )
// NSLineBreakByCharWrapping,//
// NSLineBreakByClipping,// Simply clip
// NSLineBreakByTruncatingHead,// Truncate at head of line: "...wxyz"
// NSLineBreakByTruncatingTail,// Truncate at tail of line: "abcd..."
// NSLineBreakByTruncatingMiddle// Truncate middle of line: "ab...yz"
// ,0 ,
lb.numberOfLines =0;
//
lb.layer.cornerRadius =30;
// ,
lb.clipsToBounds =YES;
// , , layer CGColor
lb.layer.borderColor = [[UIColorredColor]CGColor];
lb.layer.borderWidth =1.0;
// label ,
[self.viewaddSubview:lb];
}
Label 의 첫 줄 을 들 여 쓰 는 것 은 골 치 아 픈 문제 입 니 다.현재 IOS 6 에는 attributedText 의 속성 만 있 습 니 다.사용자 정의 줄 높이 에 도달 할 수 있 고 첫 줄 의 들 여 쓰기,각종 줄 거리 와 간격 문제 도 있 습 니 다.다음은 두 개의 Label 이 고,하 나 는 UserName 이 며,다른 하 나 는 Content 텍스트 다 중 줄 정보 입 니 다.태그 만 들 기
@interface ViewController : UIViewController
@property ( weak , nonatomic ) IBOutlet UILabel *usernameLabel
@property ( weak , nonatomic ) IBOutlet UILabel *contentLabel;
@end
보기 전시 층
- ( void )viewDidLoad {
self . usernameLabel . text = @" Jordan CZ: " ;
self . usernameLabel . adjustsFontSizeToFitWidth = YES ;
[ self . usernameLabel sizeToFit ];
self . contentLabel . text = @" 。。。。。。。" ;
self . contentLabel . adjustsFontSizeToFitWidth = YES ;
self . contentLabel . adjustsLetterSpacingToFitWidth = YES ;
[ self resetContent ];
}
적응 계산 간격
- ( void )resetContent{
NSMutableAttributedString *attributedString = [[ NSMutableAttributedString alloc ]initWithString : self . contentLabel . text ];
NSMutableParagraphStyle *paragraphStyle = [[ NSMutableParagraphStyle alloc ]init ];
paragraphStyle. alignment = NSTextAlignmentLeft ;
paragraphStyle. maximumLineHeight = 60 ; //
paragraphStyle. lineSpacing = 5 ; //
[paragraphStyle setFirstLineHeadIndent : self . usernameLabel . frame . size .width + 5 ]; // 5
[attributedString addAttribute : NSParagraphStyleAttributeName value:paragraphStyle range : NSMakeRange ( 0 , [ self . contentLabel . text length ])];
self . contentLabel . attributedText = attributedString;
[ self . contentLabel sizeToFit ];
}
UITextView 사용 설명
//
UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 30)];
textview.backgroundColor=[UIColor whiteColor]; //
textview.scrollEnabled = NO; // , “YES”
textview.editable = YES; // , “YES”
textview.delegate = self; //
textview.font=[UIFont fontWithName:@"Arial" size:18.0]; // ;
textview.returnKeyType = UIReturnKeyDefault;//return
textview.keyboardType = UIKeyboardTypeDefault;//
textview.textAlignment = NSTextAlignmentLeft; //
textview.dataDetectorTypes = UIDataDetectorTypeAll; // ( 、 、 )
textview.textColor = [UIColor blackColor];
textview.text = @"UITextView ";//
[self.view addSubview:textview];
UITextView 의 프 록 시 방법 은 다음 과 같 습 니 다.
//
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;
//
- (BOOL)textViewShouldEndEditing:(UITextView *)textView;
//
- (void)textViewDidBeginEditing:(UITextView *)textView;
//
- (void)textViewDidEndEditing:(UITextView *)textView;
//
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text;
//
- (void)textViewDidChange:(UITextView *)textView;
//
- (void)textViewDidChangeSelection:(UITextView *)textView;
입력 한 텍스트 의 내용 높이 에 맞 게 컨트롤 을 해 야 할 때 가 있 습 니 다.textView Did Change 의 프 록 시 방법 에 컨트롤 크기 를 조정 하 는 프 록 시 를 추가 하면 됩 니 다.
- (void)textViewDidChange:(UITextView *)textView{
//
CGSize constraintSize;
constraintSize.width = textView.frame.size.width-16;
constraintSize.height = MAXFLOAT;
CGSize sizeFrame =[textView.text sizeWithFont:textView.font
constrainedToSize:constraintSize
lineBreakMode:UILineBreakModeWordWrap];
// textView
textView.frame =CGRectMake(textView.frame.origin.x,textView.frame.origin.y,textView.frame.size.width,sizeFrame.height+5);
}
입력 문자 의 길이 와 내용 을 제어 하고 다음 에이전트 방법 을 호출 하여 실현 할 수 있 습 니 다.
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text
{
if (range.location>=100)
{
//
return NO;
}
if ([text isEqualToString:@"
"]) {
//
return NO;
}
else
{
return YES;
}
}
UITextView 키보드 종료 방법아이 폰 의 소프트 키 보드 는 자체 적 으로 가지 고 있 는 키보드 키 가 없 기 때문에 키 보드 를 탈퇴 하려 면 스스로 실현 해 야 한다.다음 과 같은 몇 가지 방식 이 있다.
1)프로그램 에 네 비게 이 션 바 가 있다 면 네 비게 이 션 바 에 Done 단 추 를 하나 더 추가 하여 키 보드 를 종료 할 수 있 습 니 다.당연히 먼저 UITextView Delegate 를 확인 해 야 합 니 다.
- (void)textViewDidBeginEditing:(UITextView *)textView {
UIBarButtonItem *done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(dismissKeyBoard)];
self.navigationItem.rightBarButtonItem = done;
[done release];
done = nil;
}
- (void)textViewDidEndEditing:(UITextView *)textView {
self.navigationItem.rightBarButtonItem = nil;
}
- (void)dismissKeyBoard {
[self.textView resignFirstResponder];
}
2)텍스트 뷰 에서 리 턴 키 를 사용 하지 않 으 면 리 턴 키 를 키보드 에서 나 오 는 응답 키 로 사용 할 수 있다.코드 는 다음 과 같 습 니 다:
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text
{
if ([text isEqualToString:@"
"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
3)그리고 다른 로 딩 키보드 위 에서 로그아웃 할 수 있 습 니 다.예 를 들 어 팝 업 키보드 위 에 view 를 추가 하여 키 보드 를 종료 하 는 Done 단 추 를 놓 을 수 있 습 니 다.코드 는 다음 과 같 습 니 다:
UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320,30)];
[topView setBarStyle:UIBarStyleBlack];
UIBarButtonItem *btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:self
action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]initWithTitle:@"Done"
style:UIBarButtonItemStyleDone
target:self
action:@selector(dismissKeyBoard)];
NSArray * buttonsArray = @[btnSpace, doneButton];;
[doneButton release];
[btnSpace release];
[topView setItems:buttonsArray];
[textView setInputAccessoryView:topView];// topView
[topView release];
topView = nil;
-(IBAction)dismissKeyBoard
{
[tvTextView resignFirstResponder];
}
총결산iOS 의 다양한 UI 컨트롤 속성 설정 에 관 한 글 을 소개 합 니 다.iOS 의 다양한 UI 컨트롤 속성 설정 에 관 한 내용 은 이전 글 을 검색 하거나 아래 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.