1、textField输入时,字体太靠左边边缘,
解决方法:
UIView *paddingView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,5,30)];
textField.leftView = paddingView;
textField.leftViewMode =UITextFieldViewModeAlways;
另外,textfield 的attributedPlaceholder居中显示:因为更改了attributedPlaceholder的字体大小,导致attributedPlaceholder偏上
- 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];