【iOS开发】总结

最近做一个项目,遇到了一些小问题,下面总结一下遇到的问题,以及解决办法。

1.如何把一个正方形的图片切成圆形?

imageView.layer.masksToBounds = YES;  
imageView.layer.cornerRadius = 50; 

2.我们可以设置 状态栏的文字颜色,但是我们不能设置状态栏的背景颜色。当设置导航栏的背景颜色的时候,状态栏的背景颜色会跟着变化,这是我们所不想看到的。我们可以在导航条上放置一个对应颜色的view 来解决这个问题。

3.下拉刷新的用法

UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
    [self.view addSubview:refresh];
    self.refreshControl = refresh;
    [refresh addTarget:self action:@selector(refreshData:) forControlEvents:UIControlEventValueChanged];

4.设置view的边框颜色

view.layer.borderColor = [UIColor redColor].CGColor;
view.layer.borderWidth = 3; 

5.计算一段文字的尺寸

- (CGRect)rectWithString:(NSString *)string
{
    CGSize maxSize = CGSizeMake(self.view.bounds.size.width-20, CGFLOAT_MAX);
    NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:13]};
    CGRect frame = [string boundingRectWithSize:maxSize options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil];

    return frame;
}

6.tableview中数据源方法的调用次数

在tableview的数据源方法中,每显示一个cell要调用方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

两次,所以我们不论cell的个数或多或少,都要使用重用机制,否则即便cell的个数为1,如果不重用的话也会创建两次cell。

7.如何把一串字符串中的数字剥离出来?

使用正则表达式最方便:

NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:@"[a-zA-Z:.-]" options:0 error:NULL];
NSString *result = [regular stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""];
return [result longLongValue];

8.用oc实现的冒泡排序法:

- (void)sortWithPioneer
{
    NSMutableArray *p = [NSMutableArray array];
    [p addObjectsFromArray:self.sortData];
    for(int i = 0; i < p.count; i++)
    {
        for(int j = 0; j < p.count-1-i; j++)
        {
            long long a = [[p[j] pioneer] longLongValue];
            long long b = [[p[j+1] pioneer] longLongValue];
            if (a < b) {
                [p exchangeObjectAtIndex:j withObjectAtIndex:j+1];
            }
        }
    }

    [self.sortData removeAllObjects];
    [self.sortData addObjectsFromArray:p];
}

9.当使用Charles抓包HTTPs时候需要做下边的设置
在help->SSL Proxying->install Charles Certificate

10.array没有添加对象的方法addObject,因为创建的不是可变数组

11. setValue和setObject的区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值