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;"];//輸出:677,789.98
// [numberFormatter setPositiveFormat:@",###.00"];//輸出:677,789.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];