分类
IOS开发

IOS计算文本大小

计算文本所占空间大小,已解决UILabel内容自适应的问题。经测试下面代码可用:

/**
 *  计算文本的宽高
 *  @param str     需要计算的文本
 *  @param font    文本显示的字体
 *  @param maxSize 文本显示的范围
 *  @return 文本占用的真实宽高
 */
- (CGSize)sizeWithString:(NSString *)str font:(UIFont *)font maxSize:(CGSize)maxSize
{
    NSDictionary *dict = @{NSFontAttributeName : font};
    // 如果将来计算的文字的范围超出了指定的范围,返回的就是指定的范围
    // 如果将来计算的文字的范围小于指定的范围, 返回的就是真实的范围
    CGSize size =  [str boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;
    return size;
}
分类
IOS开发

UITabbarcontroller实现点击某个指定的tabbaritem后不跳转

1、UIViewController继承UITabbarcontroller
2、实现协议UITabBarControllerDelegate
3、设置协议

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.delegate = self;
}

4、实现协议方法

-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
    if (/*满足一个条件时,不跳转,返回NO*/) {
        return NO;
    }
    return YES;
}
分类
IT运维

windows下mysql备份bat

网上找的代码,因为我的路径有空格,有点问题,做个记录修改如下:

rem *******************************Code Start*****************************
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
set EXE_PATH="D:\Program Files\MySQL\MySQL Workbench 6.3 CE\mysqldump.exe"
%EXE_PATH% --opt -u root --password=123456 test > D:\backup\db\test_%Ymd%.sql
@echo on
rem *******************************Code End*******************************

windows自动备份后使用7z压缩:

rem *******************************Code Start*****************************
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
set EXE_PATH="D:\backup\mysqldump.exe"
%EXE_PATH% --opt -u root --password=123456 -h 192.168.0.101 -P 3306 test > D:\backup\db\test_%Ymd%.sql
set zpath="C:\Program Files\7-Zip\7z.exe"
%zpath% a D:\backup\db\lm-web_%Ymd%.7z D:\backup\db\lm-web_%Ymd%.sql
del "D:\backup\db\lm-web_%Ymd%.sql"
@echo on
rem *******************************Code End*******************************
分类
IOS开发

NSArray转成json字符串

NSString *jsonArray = @"";
NSMutableArray *array = [[NSMutableArray alloc] init];
for (int i=0; i<10; i++) {
    NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
    dict[@"id"] = [NSNumber numberWithInt:i];
    [array addObject:dict];
}
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted error:nil];
jsonArray = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

jsonArray即为array转成的字符串。

分类
IOS开发

关闭多个UIViewController时报异常:Trying to dismiss the presentation controller while transitioning already

关闭多个UIViewController时报异常,google了下,用下面代码可以避免,具体原因可能是关闭一个UIViewController影响到了其他的UIViewController,所以需要关闭了以后再关闭另一个,不能使用循环一下同时关闭多个,不知对不对,还请高手指教。上代码:
//这个是我定义的数组,放了多个需要关闭的UIViewController

@property(nonatomic, strong)NSMutableArray *viewControllers;

-(void)dismissViewControllerAll{
    if (_viewControllers != nil && _viewControllers.count>0) {
        UIViewController *controller = [_viewControllers lastObject];
        NSLog(@"dismissViewControllerAll controller=%@", controller);
        if (controller != nil) {
            [controller dismissViewControllerAnimated:NO completion:^{//不用此种方式,会异常:Trying to dismiss the presentation controller while transitioning already
                [_viewControllers removeObject:controller];
                [self dismissViewControllerAll];
            }];
        }else{
            [_viewControllers removeObject:controller];
            [self dismissViewControllerAll];
        }
    }
}