常用控件知识

来源:互联网 发布:媒体播放器软件下载 编辑:程序博客网 时间:2024/06/06 05:44
/*********************** 1.UIButton***********************/
(1)水平左对齐
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
距离左边10个像素:button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

(2)全局变量的按钮需要判断,否则每次都会进行初始化  
if(!startBtn) {
      startBtn=[[UIButtonalloc]initWithFrame:CGRectMake(41,491,242,40)];
      startBtn.backgroundColor=[UIColororangeColor];
      [startBtnaddTarget:selfaction:@selector(startConnect)forControlEvents:UIControlEventTouchUpInside];
      [startBtnsetTitle:@"开始连接"forState:UIControlStateNormal];
      startBtn.layer.cornerRadius=20;
      startBtn.layer.masksToBounds=YES;
      [self.viewaddSubview:startBtn];
}

/*********************** 2.UILabel***********************/
(1)UILabel自适应宽高
(2)实现同一个控件中字体大小,颜色,位置不同
        /***********************
    
兑换人数
     ***********************/

   
_exchangeGiftPeopleNum.text=[NSStringstringWithFormat:@"%@人已兑换",@"168"];
   
//截取人之前的字符串
   
NSRange numRange=[_exchangeGiftPeopleNum.textrangeOfString:@""];
   
NSMutableAttributedString*numStr=[[NSMutableAttributedStringalloc]initWithString:_exchangeGiftPeopleNum.text];
   
    [numStr
addAttribute:NSForegroundColorAttributeNamevalue:[UIColorhexStringToColor:@"#fb606e"]range:NSMakeRange(0, numRange.location)];
   
_exchangeGiftPeopleNum.attributedText=numStr;
   
   
/***********************
    
兑换条件
     ***********************/

   
_exchangeGiftConditions.text=[NSStringstringWithFormat:@"%@积分",@"500"];
   
//把兑换条件变为可变的字符串
   
NSMutableAttributedString*conditionStr=[[NSMutableAttributedStringalloc]initWithString:_exchangeGiftConditions.text];
   
//截取积之前的字符串
   
NSRange conditionRange=[_exchangeGiftConditions.textrangeOfString:@""];
   
//从第1个字符到倒数第1个字符字体大小
    [conditionStr
addAttribute:NSFontAttributeNamevalue:[UIFontfontWithName:@"HelveticaNeue-Bold"size:24.0]range:NSMakeRange(1,conditionRange.location-1)];
    _exchangeGiftConditions.attributedText=conditionStr;


 /***********************  3.UIScrollowView***********************/
   (1)Storyboard.xib 中使用scrollView的contentsize添加约束的开发总结
viewDidLoad里面添加了scrollView的contentsize设置没用,
scrollView的contentsize只能在viewDidAppear里面设置
http://www.tuicool.com/articles/7FbIZjN

/***********************  4.UITextField/UITextView***********************/
(1)实现左侧空出一定的边距
就是通过uitextfield的leftview来实现的,同时要设置leftviewmode。
如果设置左右边距,需要再加上rightView功能
-(void)setTextFieldLeftPadding:(UITextField *)textField forWidth:(CGFloat)leftWidth
{
    CGRect frame 
= textField.frame;
    frame.size.width 
= leftWidth;
    UIView 
*leftview = [[UIView alloc] initWithFrame:frame];
    textField.leftViewMode 
= UITextFieldViewModeAlways;
    textField.leftView 
= leftview;
}

(2)点击return 关闭键盘
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
   
    [textField
resignFirstResponder];
   
return YES;
}

(3)实现UITextField值变化的实时监视
1、KVO方式
[textField addObserver:self forKeyPath:@"text" options:0 context:nil];
   2、直接添加监视
[textField addTarget:self  action:@selector(valueChanged:)  forControlEvents:UIControlEventAllEditingEvents];

- (void)valueChanged:(UITextField*)textField
{
    NSLog(@"textFiled=%@",textField.text);
}

#pragma mark - 移除通知,否者返回主界面会崩溃
- (void)dealloc
{
    [_payMoneyField removeObserver:selfforKeyPath:@"text"];
}

(4)文本框处于不可编辑状态
你可以设置setUserInteractionEnabled=NO。

(5)UITextField/UITextView自定义关闭键盘
UIToolbar* topView = [[UIToolbaralloc]initWithFrame:CGRectMake(0,80,320,30)];
    [topView setBarStyle:UIBarStyleBlack];
//    UIBarButtonItem * helloButton = [[UIBarButtonItem alloc]initWithTitle:@"Hello" style:UIBarButtonItemStyleBordered target:self action:nil];
//    UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
  UIBarButtonItem* doneButton = [[UIBarButtonItemalloc]initWithTitle:@"退下键盘"style:UIBarButtonItemStyleDonetarget:selfaction:@selector(dismissKeyBoard)];
NSArray* buttonsArray = [NSArrayarrayWithObjects:doneButton,nil];
    [topView setItems:buttonsArray];
    [
phoneFieldsetInputAccessoryView:topView];
    [
bussAdresssetInputAccessoryView:topView];
    [bussPhonesetInputAccessoryView:topView];
- (void)dismissKeyBoard
{
    [
phoneFieldresignFirstResponder];
    [
bussPhoneresignFirstResponder];
    [
bussAdressresignFirstResponder];
}

/***********************  4.NSString ***********************/
(1)如 把手机号码13713964459 变成 137****4459
    NSString*originTel =@"13713964459";
    NSString*tel = [originTel stringByReplacingCharactersInRange:NSMakeRange(3,4)withString:@"****"];
NSLog(@"tel:%@",tel);

(2)截取.之前的字符串
NSString *string=self.model.goodsImage;                 //1_04418207207476705.jpg
 NSRange range = [string rangeOfString:@"."];
NSString *str = [string substringToIndex:range.location];//1_04418207207476705

(3)截取NSString最后一位符号后的东东

    NSString* str =@"2011-01-18";

    NSString *temp1 = [[strcomponentsSeparatedByString:@"-"]lastObject];

    NSLog(@"temp1=%@",temp1);

    //temp1=18

    NSString *temp2 = [strsubstringFromIndex:[str length]-1];

    NSLog(@"temp2=%@",temp2);

    //temp2=8

(4)字符串查找子串并替换

    NSString *d4 =@"2016/11";

    NSString *d5 = [d4stringByReplacingOccurrencesOfString:@"/"withString:@""];

    NSLog(@"d = %@", d5);

    //输出d = 201611



/***********************  5.延时 ***********************/
(1)延时3S
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3*NSEC_PER_SEC)),dispatch_get_main_queue(), ^{
        NSLog(@"");
    });

/***********************  5.把编码形式转化成中文 ***********************/

Foundation+Log.m
0 0
原创粉丝点击