iOS开发中常用但经常忘记的技巧(陆续更新)

iOS开发中常用但经常忘记的技巧

1、 隐藏tableViewCell的分割线:

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
2、实现右侧的小灰色箭头 只要将cell的accessoryType属性设置为

cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;

//关闭tableView顶部的cell冒出来的白色空隙
self.automaticallyAdjustsScrollViewInsets = NO
//关闭tableView选中的动画
[tableView deselectRowAtIndexPath:indexPath animated:NO];
 开启手势返回
 self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

其他格式:像对勾、删除什么类似,更改一下属性值即可

3、 用UiButton制作圆形头像时,去除头像多余的部分
button.clipsToBounds = YES;
4、毛玻璃效果(ios8.0以后的版本)
UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
    visualEffectView.frame = CGRectMake(0, 0, 320, 180);
    visualEffectView.alpha = 1.0;
5、关闭textField、textView 相关
//是否自动纠错功能
  text.autocorrectionType = UITextAutocorrectionTypeNo;
typedef enum {
    UITextAutocorrectionTypeDefault, 默认
    UITextAutocorrectionTypeNo,  不自动纠错
    UITextAutocorrectionTypeYes, 自动纠错
} UITextAutocorrectionType;


6、每输入一个字符就变成点 用语密码输入
 text.secureTextEntry = YES;
7、pod更新慢


CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update


8、查看代码行数
find . -name ".m" -or -name ".h" -or -name ".xib" -or -name ".c" |xargs wc -l  1


9、textField输入框出现删除按钮

textField.clearButtonMode = UITextFieldViewModeWhileEditing;


10、layoutSubviews什么时候调用

  1. 在init初始化时不会调用layouSubviews,使用initWithFrame时候,只要rect值不为zero会调用layouSubviews。
  2. addSubview时会触发layouSubviews
  3. 设置view的frame时,只要view的值有变化,则会调用layouSubviews
  4. 滚动UIScrollView会调用layouSubviews
  5. 旋转当前APP会调用layouSubviews
  6. 更改一个View的大小的时,也会触发父类的layouSubviews


11、整个项目iOS手势(滑动)返回

1⃣️、iOS手势(滑动)返回首先在根控制器下 遵守UIGestureRecognizerDelegate协议

2⃣️、在跟控制器下写入以下代码,轻松开启手势返回

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    //代理置空,否则会闪退
    if ([self.navigationController       respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        self.navigationController.interactivePopGestureRecognizer.delegate = nil;
        
    }
}
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    //开启iOS7的滑动返回效果
    if ([self.navigationController   respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        //只有在二级页面生效
        if ([self.navigationController.viewControllers count] == 2) {
            self.navigationController.interactivePopGestureRecognizer.delegate = self;
        }
    }
}

12、自定义导航栏返回按钮

 UIBarButtonItem *leftBarBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"返回-1"] style:UIBarButtonItemStylePlain target:self action:@selector(goBack)];
    self.navigationItem.leftBarButtonItem = leftBarBtn;

13、导航栏全透明,无黑边

 //    导航栏变为透明
    [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:0];
    //    让黑线消失的方法
    self.navigationController.navigationBar.shadowImage=[UIImage new];


二、Mac系统技巧

显示Mac隐藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles -bool true

隐藏Mac隐藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles -bool false

或者

显示Mac隐藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles  YES

隐藏Mac隐藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles  NO

输完单击Enter键,退出终端,重新启动Finder就可以了

重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->重新启动

三、解决Xcode升级插件失效问题

  1. 编写脚本

随便打开一个编辑器,Xcode可以,Sublime也可以,创建一个名为script.sh的文件,打开文件,并复制粘贴以下代码:

 #!/bin/bash

 #获取当前版本Xcode的   DVTPlugInCompatibilityUUID

UUID=$(defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID)

echo Xcode DVTPlugInCompatibilityUUID is $UUID

 #遍历每一个Xcode插件,将UUID写入插件的兼容列表中

for MyPlugin in ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/*

do

defaults write "$MyPlugin"/Contents/Info DVTPlugInCompatibilityUUIDs -array-add $UUID

echo write DVTPlugInCompatibilityUUID to $MyPlugin succeed!

done


1、给权限

在终端中输入以下命令(755后面是脚本的路径): chmod 755 /Users/tangjr/Desktop/script.sh 

2、 关闭Xcode

3、运行脚本

直接将脚本拖到终端中就行。 

4、 结束

重新打开Xcode就行


赞一个 (9)
分享到: +More

评论 7

换个身份

取消评论
  1. #1
    新成
    Windows 7Windows 7 2345Explorer 6.5.0.112582345Explorer 6.5.0.11258
    技术文章
    新成 3年前 (2016-03-06)回复
    • Biny
      Mac OS X 10.11.1Mac OS X 10.11.1 Google Chrome 48.0.2564.116Google Chrome 48.0.2564.116
      [em_18]
      Biny 3年前 (2016-03-07)回复
  2. #2
    智能家居
    Windows 7 x64Windows 7 x64 Google Chrome 55.0.2883.87Google Chrome 55.0.2883.87
    文章不错支持
    智能家居 1年前 (2017-11-02)回复
  3. #3
    武胜
    Windows 7 x64Windows 7 x64 Firefox 59.0Firefox 59.0
    文章很好值得一看。
    武胜 7个月前 (05-04)回复
  4. #4
    武胜婚庆公司
    Windows 7 x64Windows 7 x64 Firefox 59.0Firefox 59.0
    写得不错支持一下
    武胜婚庆公司 7个月前 (05-04)回复
  5. #5
    武胜
    Windows 7 x64Windows 7 x64 Firefox 60.0Firefox 60.0
    文章很好值得一看
    武胜 6个月前 (05-18)回复
  6. #6
    广安养老院
    Windows 7 x64Windows 7 x64 Firefox 60.0Firefox 60.0
    写得很好支持一下
    广安养老院 6个月前 (05-18)回复
  7. #7
    可赛新胶水
    Windows 7 x64Windows 7 x64 Google Chrome 55.0.2883.87Google Chrome 55.0.2883.87
    用胶水就用可赛新胶水和乐泰胶水这才是正确的选择 https:www.hyhaote.com
    可赛新胶水 6个月前 (06-06)回复