iOS 开发技巧总结
1. 添加定时器的常用代码
- (void)delayEnableTabButton
{
self.tabChannelButton.enabled = NO;
[self appendTimer];
} - (void)appendTimer
{
if (_resumeTimer == nil)
{
_resumeTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(enableTabChannelButton) userInfo:nil repeats:NO];
}
} - (void)enableTabChannelButton
{
self.tabChannelButton.enabled = YES;
[self removeTimer];
} - (void)removeTimer
{
if (_resumeTimer != nil)
{
[_resumeTimer invalidate];
_resumeTimer = nil;
}
} - (void)dealloc
{
[self removeTimer];
}
2. 对于用户多次点击的事件,为防止重复调用而覆盖操作,可以延迟执行.如:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (!_processFlowView.hidden) {
return ;
}
_processFlowView.hidden = NO;
_processFlowViewLeft.constant = _windNameStart;
[self layoutIfNeeded];
[UIView animateWithDuration:0.5 animations:^{
_processFlowViewLeft.constant = _windNameEnd;
[self layoutIfNeeded];
} completion:^(BOOL finished) {
_processFlowView.hidden = YES;
}];
});
3. 写 UI 的代码时, 能复制粘贴的尽量复制粘贴, 快速开发...可以使用 headerTitleLabel1, headerTitleLabel2, middleTitleLabel1来代替复杂的命名规则.
4. 对于 UI 比较复杂的界面, 可以定义多个大容器, 对于修改 UI 的话, 比较方便.
5. 写 UI 的时候, 可以打开 xcode 的分屏功能, 左右两个界面对照编辑
6. 对于数据的特殊显示, 如进度为100%时, 仍显示99%, 可以在代码的最底层处理, 也就是 UI层, 在设置 UIlabel 的 text 时做处理, 其他地方就不用重复处理了, 以免出问题了不好查找.
iOS 开发技巧总结的更多相关文章
- iOS开发技巧系列---详解KVC(我告诉你KVC的一切)
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需 ...
- 【转】几点 iOS 开发技巧
[译] 几点 iOS 开发技巧 原文:iOS Programming Architecture and Design Guidelines 原文来自破船的分享 原文作者是开发界中知晓度相当高的 Mug ...
- 几点iOS开发技巧
转自I'm Allen的博客 原文:iOS Programming Architecture and Design Guidelines 原文来自破船的分享 原文作者是开发界中知晓度相当高 ...
- iOS开发技巧
一.寻找最近公共View 我们将一个路径中的所有点先放进 NSSet 中.因为 NSSet 的内部实现是一个 hash 表,所以查找元素的时间复杂度变成了 O(1),我们一共有 N 个节点,所以总时间 ...
- iOS开发技巧系列---使用链式编程和Block来实现UIAlertView
UIAlertView是iOS开发过程中最常用的控件之一,是提醒用户做出选择最主要的工具.在iOS8及后来的系统中,苹果更推荐使用UIAlertController来代替UIAlertView.所以本 ...
- iOS开发技巧 -- 复用代码片段
如果你是一位开发人员在开发过程中会发现有些代码无论是在同一个工程中还是在不同工程中使用率会很高,有经验的人会直接封装在一个类里,或者写成一个宏定义或者把这些代码收集起来,下次直接使用,或者放到xcod ...
- iOS开发技巧 - Size Class与iOS 8多屏幕适配(一)
0. 背景: 在iOS开发中,Auto Layout(自动布局)能解决大部分的屏幕适配问题. 但是当iPhone 6和iPhone 6 Plus发布以后, Auto Layout已经不能解决复杂的屏幕 ...
- iOS 开发技巧收藏贴 链接整理
54个技巧 57个技巧 正则表达式
- iOS开发技巧-2
1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图 ...
- IOS开发技巧快速生成二维码
随着移动互联网的发展,二维码应用非常普遍,各大商场,饭店,水果店 基本都有二维码的身影,那么ios中怎么生成二维码呢? 下面的的程序演示了快速生成二维码的方法: 在ios里面要生成二维码,需要借助一个 ...
随机推荐
- 10g 11g配置Logical Standby
1.创建一个物理Standby数据库 详细见11g Physical Standby配置 2.Standby数据库取消managed recovery ALTER DATABASE RECOVER ...
- Fallout4 Creation Kit
按住SHIFT是旋转视角,按住鼠标中键 E是移动物品 双击W是旋转物品 数字键2 是调整物品大小
- .NET yield
.Net Yield 其实比较简单,手动yield,一学就会. public static class GalaxyClass { public static void ShowGalaxies() ...
- Visual Studio Code升级到0.5,提供对ES6的更好支持
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:题目即题记. 自从Visual Studio Code发布之后(最初是0.1),微软就 ...
- RFC(请求注解)--各种协议-标准
转自:http://blog.sina.com.cn/s/blog_65d6476a0101cj8n.html RFC(Request For Comments)-意即“请求注解”,包含了关于Inte ...
- 自己制作QQ空间音乐的具体方法
1.打开QQ邮箱找到左栏下方的“文件中转站”--点击收藏文件--上传到收藏 将MP3或WMA音乐文件上传 上传完成点下载 下图: 2.点“保存”将最上面一排的地址全部复制 下图 3.为了更 ...
- set[c++]
#include <iostream> using namespace std; #include <set> int main(int argc, const char * ...
- excel、csv、txt文件数据读取
/// <summary> /// 读取Excel表每一行第一列的字符串集合 /// </summary> /// <param name="filePath& ...
- Git 基础操作
[TOC] 在Linux上安装Git $ git --version #查看git的版本号 $ sudo apt-get install git # 安装git 创建版本库 $ git init # ...
- js 判断数组的值是否有重复
方法一: var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace( ...