美文网首页
iOS 开发中遇到的问题

iOS 开发中遇到的问题

作者: 一只特立独行的道哥 | 来源:发表于2016-09-29 09:35 被阅读71次

1. 自定义导航条的标题(文字大小和颜色)

直接上代码

    UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
    titleLabel.textColor = [UIColor blackColor];
    titleLabel.font = [UIFont systemFontOfSize:17];
    titleLabel.textAlignment = NSTextAlignmentCenter;
    
    titleLabel.text=@"登录";
    self.navigationItem.titleView = titleLabel;

2. 设置textField的左边图片

直接上代码

    self.textFiled.leftView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon_login_shouji"]];
    self.textFiled.leftViewMode = UITextFieldViewModeAlways;

3. 设置textfield的placeholder颜色

直接上代码

self.textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:self.loginInputId.placeholder attributes:@{NSForegroundColorAttributeName: color}];

4. 判断输入法是否是中文

怒上代码 中文是zh-cn,应为是en-us,其他地区见
地区代码

 BOOL isChinese = [[[UIApplication sharedApplication] textInputMode].primaryLanguage isEqualToString:@"zh-cn"];

5. fullResolutionImage 与fullScreenImage

参考自使用ALAssetsLibrary读取所有照片
ALAssetRepresentation的 metadata 方法很慢,我在iPhone4 iOS5.1.1中测试,此方法返回需要40-50ms,所以获取图片的个各种属性尽量直接从ALAssetRepresentation中获取,不要读取metadata,调用多次也确实很容易会memory warning,

系统”相册”程序显示的图片是 fullScreenImage ,而不是 fullResolutionImage ,fullResolutionImage尺寸太大,在手机端显示推荐用fullScreenImage。
fullScreenImage已被调整过方向,可直接使用,即

[UIImage imageWithCGImage:representation.fullScreenImage];

使用fullResolutionImage要自己调整方法和scale,即

[UIImage imageWithCGImage:representation.fullResolutionImage scale:representation.scale orientation:representation.orientation];

6. 解决cell分割线左边短20px的问题

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
     if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
         [cell setSeparatorInset:UIEdgeInsetsZero];
      }
     if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
         [cell setLayoutMargins:UIEdgeInsetsZero];
      }
    
}

如果单独设置willDisplayCell中的是不起作用的,还需要在viewDidLoad方法中添加如下代码

    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.tableView setSeparatorInset:UIEdgeInsetsZero];
    }
    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    }

7.viewForHeaderInSection 的section从1开始而不是从0开始

(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 方法中的section貌似从1开始而不是从0

程序中虽然设置了 self.tableView.sectionHeaderHeight =20
还还是是不行 viewForHeaderInSection 中的section始终还是从1开始。
于是我发现, 如果你使用方法:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

{
    return 40;
}

就从0开始啦。

8. UILabel的行间距

    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text];
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    
    [paragraphStyle setLineSpacing:5];//调整行间距
    
    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [text length])];
    
    tipL.attributedText = attributedString;
    

相关文章

  • iOS 开发中你是否遇到这些经验问题(二)

    iOS 开发中你是否遇到这些经验问题(二) iOS 开发中你是否遇到这些经验问题(二)

  • iOS 开发中你是否遇到这些经验问题

    iOS 开发中你是否遇到这些经验问题(二) iOS 开发中你是否遇到这些经验问题(二)

  • iOS 开发小经验

    iOS 开发中你是否遇到这些经验问题(一)iOS 开发中你是否遇到这些经验问题(二)iOS 日常工作之常用宏定义大全

  • iOS14适配

    开发中遇到的问题, iOS14已经发布,记录一下开发中遇到的问题.不定时更新,欢迎大家评论补充. iOS14适配总...

  • ios开发中遇到的问题

    问题1:pod 命令-bash: --: command not found 解决办法:在终端执行 sudo ge...

  • iOS开发中遇到的问题

    tableview 或者 collectionview 点击 cell 时不执行 didselect 方法,原因有...

  • iOS 开发中遇到的问题

    1. 自定义导航条的标题(文字大小和颜色) 直接上代码 2. 设置textField的左边图片 直接上代码 3. ...

  • iOS开发中-遇到的问题

    刚入职新公司,遇到了几个问题,感觉需要记录一下,顺便分享。 问题1 界面和代码对应 由于刚入职,所以不知道哪个界面...

  • iOS开发中遇到的问题

    一.对NSNumber类型调用length方法导致的崩溃 二.项目开发中使用UITextView,初始化时耗时比较...

  • iOS开发中遇到的问题

    一、更换启动闪屏图时候,显示不出来,或者白屏解决方案:重启手机,我自己试过很多方案只有这一个管用。 二、手机数据连...

网友评论

      本文标题:iOS 开发中遇到的问题

      本文链接:https://www.haomeiwen.com/subject/pymkyttx.html