IOS:一些小總結

1、textField輸入時,字體太靠左邊邊緣,


    解決方法: 

     

    UIView *paddingView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,5,30)];

    textField.leftView = paddingView;

    textField.leftViewMode =UITextFieldViewModeAlways;


另外,textfield 的attributedPlaceholder居中顯示:因爲更改了attributedPlaceholder的字體大小,導致attributedPlaceholder偏上


NSMutableParagraphStyle *style [self.quickEntrustView.quantity.defaultTextAttributes[NSParagraphStyleAttributeName] mutableCopy];
    style.minimumLineHeight =  self.quickEntrustView.quantity.font.lineHeight - ( self.quickEntrustView.quantity.font.lineHeight - [UIFont boldSystemFontOfSize:FONT_RATIO(12)].lineHeight) / 2.0;
 self.quickEntrustView.quantity.attributedPlaceholder = [[NSAttributedString alloc]initWithString:@"買入數量" attributes:@{NSForegroundColorAttributeName:kTitleThirdColor,NSFontAttributeName:[UIFont boldSystemFontOfSize:FONT_RATIO(12)],NSParagraphStyleAttributeName : style}];
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3


2、將字符串轉化成人民幣形式:(1234567轉化後爲123,456.00形式)

方法一:

- (NSString *)numberChangeToMoneyType:(NSString *)inputNumber

{

   NSLog(@"inputNumber1:%@",inputNumber);

    inputNumber = [NSStringstringWithFormat:@"%@",inputNumber];

   int number = [inputNumberintValue];

   if (number<0) {

        inputNumber = [NSStringstringWithFormat:@"%d",abs(number)];

    }

   NSLog(@"inputNumber2:%@",inputNumber);

    

   NSString *str =@"0.00";

   if ([inputNumberfloatValue] ==0.0)

    {

       return str;

    }

   elseif (inputNumber.length <=2)

    {

        

       if (inputNumber.length ==0)

        {

            str =@"0.00";

        }

       elseif (inputNumber.length ==1)

        {

            str = [NSStringstringWithFormat:@"0.0%@", inputNumber];

        }

       elseif (inputNumber.length ==2)

        {

            str = [NSStringstringWithFormat:@"0.%@", inputNumber];

        }

    }

   elseif (inputNumber.length >2)

    {

       if (((inputNumber.length -2) %3) == 0)

        {

           //小數點後2

           NSString *strTemp2 = [inputNumbersubstringWithRange:NSMakeRange(inputNumber.length -2,2)];

           //小數點前

           NSString *strTemp1 =@"";

           for (int i = inputNumber.length -5; i >= 0;)

            {

               //截取的段數

               NSString *strTemp3 = [inputNumbersubstringWithRange:NSMakeRange(i,3)];

               NSString *strTemp4 = [NSStringstringWithFormat:@",%@", strTemp3];

                strTemp1 = [strTemp4stringByAppendingString:strTemp1];

                i = i -3;

            }

            str = [NSStringstringWithFormat:@"%@.%@", strTemp1, strTemp2];

            str = [strsubstringWithRange:NSMakeRange(1, str.length -1)];

        }

       else

        {

           //小數點後2

           NSString *strTemp2 = [inputNumbersubstringWithRange:NSMakeRange(inputNumber.length -2,2)];

           //小數點前

           NSString *strTemp1 = [inputNumbersubstringWithRange:NSMakeRange(0, inputNumber.length -2)];

           NSString *strTemp3 =@"";

           if (strTemp1.length <3)

            {

                str = [NSStringstringWithFormat:@"%@.%@", strTemp1, strTemp2];

            }

           else

            {

               for (int i = strTemp1.length -3; i >= 0;)

                {

                   NSString *strTemp4 = [strTemp1substringWithRange:NSMakeRange(i,3)];

                   NSString *strTemp5 = [NSStringstringWithFormat:@",%@", strTemp4];

                    strTemp3 = [strTemp5stringByAppendingString:strTemp3];

                   if (i <3)

                    {

                       NSString *strTemp4 = [strTemp1substringWithRange:NSMakeRange(0, i)];

                       NSString *strTemp5 = [NSStringstringWithFormat:@",%@",strTemp4];

                        strTemp3 = [strTemp5stringByAppendingString:strTemp3];

                    }

                    i = i -3;

                }

                str = [NSStringstringWithFormat:@"%@.%@", strTemp3, strTemp2];

                str = [strsubstringWithRange:NSMakeRange(1, str.length -1)];

            }

        }

    }

   if (number<0) {

        str = [NSStringstringWithFormat:@"-%@",str];

    }

    

   return str;

}


方法二:


  NSString *valueStrTest =@"677789.98";

    NSNumberFormatter *numberFormatter = [[NSNumberFormatteralloc]init];

    [numberFormatter setPositiveFormat:@",###.00;"];//輸出:677789.98

//    [numberFormatter setPositiveFormat:@",###.00"];//輸出:677789.98

//    [numberFormatter setPositiveFormat:@".00;"];//輸出:677789.98

//    [numberFormatter setPositiveFormat:@"0%;"];//輸出:67778998%

//    [numberFormatter setPositiveFormat:@"0.00%;"];//輸出:67778998.00%

    

    NSString *changeStr = [numberFormatterstringFromNumber:[NSNumbernumberWithDouble:[valueStrTestdoubleValue]]];


    NSLog(@"change2 = %@",changeStr);


3、button標題從最左邊開始

  

crediteBtn.contentHorizontalAlignment =UIControlContentHorizontalAlignmentLeft;也可以設置居中或從右邊開始,設置後,會看到,字體距離button邊緣太近了,可以在設置下

TitleEdgeInsets,如

 [button setTitleEdgeInsets:UIEdgeInsetsMake(0,5,0,0)];讓title距離邊緣爲5。


4、TableView樣式爲plain時,不想顯示沒內容的Cell

self.tableView.tableFooterView = [[UIView alloc] init];

5、自定義了leftBarbuttonItem左滑返回手勢失效了怎麼辦?

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
                                         initWithImage:img
                                         style:UIBarButtonItemStylePlain
                                         target:self
                                         action:@selector(onBack:)];
self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>)self;


6、ScrollView莫名其妙不能在viewController劃到頂怎麼辦?

self.automaticallyAdjustsScrollViewInsets = NO;
7、怎麼點擊self.view就讓鍵盤收起,需要添加一個tapGestures麼?
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
   [self.view endEditing:YES];
}



8、畫個轉動的半封閉圓


x,y爲圓點座標,radius半徑,startAngle爲開始的弧度,endAngle爲 結束的弧度,clockwise 0爲順時針,1爲逆時


@implementation CircleEntrustView

- (void)drawRect:(CGRect)rect {
    // Drawing code
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context,SCREEN_RATIO_CEIL(1));
    CGContextSetStrokeColorWithColor(context, UIColorFromRGB(0xbac9d8).CGColor);
    CGContextAddArc(context, rect.size.width / 2,rect.size.width / 2, rect.size.width / 2 - SCREEN_RATIO_CEIL(0.5) , -M_PI_2, 4.0 / 5 * M_PI * 2 - M_PI_4, 0);
    CGContextStrokePath(context);
}

- (void)startRation {
    CABasicAnimation *rotationAnimation;
    rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    rotationAnimation.toValue = [NSNumber numberWithFloat:M_PI * 2.0];
    rotationAnimation.duration = 1;
    rotationAnimation.repeatCount = HUGE_VALF;
    [self.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}

@end


9、給UIView添加漸變的陰影,用CAGradientLayer實現


    CAGradientLayer *layerTop = [CAGradientLayer layer];
    layerTop.frame = CGRectMake(0, 0, 200, SCREEN_RATIO_CEIL(35));
    layerTop.colors = [NSArray arrayWithObjects:(id)UIColorFromRGBA(0x000000, 0).CGColor,(id)UIColorFromRGBA(0x000000, 0.2).CGColor, nil];
    [self.commitViewImage.layer addSublayer:layerTop];
    
    CAGradientLayer *layerBottom = [CAGradientLayer layer];
    layerBottom.frame = CGRectMake(0, 160, 200, 40);
    layerBottom.colors = [NSArray arrayWithObjects:(id)UIColorFromRGBA(0x000000, 0.2).CGColor,(id)UIColorFromRGBA(0x000000, 0).CGColor, nil];
    [self.commitViewImage.layer addSublayer:layerBottom];




發佈了111 篇原創文章 · 獲贊 9 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章