电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

iOS中各種UI控件屬性設置示例代碼

瀏覽:3日期:2022-09-17 09:07:32

//視圖已經加載完了,可以進行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的首行縮進一直是個很頭疼的問題,現在IOS6只有有一個 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;

有時候我們要控件自適應輸入的文本的內容的高度,只要在textViewDidChange的代理方法中加入調整控件大小的代理即可

- (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:@'n']) { //禁止輸入換行 return NO; } else { return YES; }}

UITextView退出鍵盤的幾種方式

因為iphone的軟鍵盤沒有自帶的退鍵盤鍵,所以要實現退出鍵盤需要自己實現,有如下幾種方式:

1)如果你程序是有導航條的,可以在導航條上面加多一個Done的按鈕,用來退出鍵盤,當然要先實UITextViewDelegate。

- (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)如果你的textview里不用回車鍵,可以把回車鍵當做退出鍵盤的響應鍵。

代碼如下:

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text{ if ([text isEqualToString:@'n']) { [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控件屬性設置內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IOS
相關文章:
主站蜘蛛池模板: 拉卡拉POS机官网 - 官方直营POS机办理|在线免费领取 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 | 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 广州展览设计公司_展台设计搭建_展位设计装修公司-众派展览装饰 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 红外光谱仪维修_二手红外光谱仪_红外压片机_红外附件-天津博精仪器 | 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 万烁建筑设计院-建筑设计公司加盟,设计院加盟分公司,市政设计加盟 | 陕西视频监控,智能安防监控,安防系统-西安鑫安5A安防工程公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 路面机械厂家| 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂| 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 暖气片十大品牌厂家_铜铝复合暖气片厂家_暖气片什么牌子好_欣鑫达散热器 | 搪玻璃冷凝器_厂家-越宏化工设备 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | 样品瓶(色谱样品瓶)百科-浙江哈迈科技有限公司 | 至顶网 | 污水处理设备-海普欧环保集团有限公司 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 质检报告_CE认证_FCC认证_SRRC认证_PSE认证_第三方检测机构-深圳市环测威检测技术有限公司 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 |