iOS开发小知识点汇总
2016-11-02 14:53
330 查看
1 UITableView
禁止UITableView的滑动tableView.scrollEnabled = NO;
设置分组显示的每个section的标题
//1.设置代理 self.tableView.delegate = self; //2.实现代理方法 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { 对每个section的title进行设置. }
UITableView的cell中添加得有按钮,怎么在按钮的点击事件中获取到UITableView的cell
// 1.添加按钮的点击监听 [cell.button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside]; // 2.在按钮的点击方法中通过button计算出其所在的Cell -(void)buttonClick:(UIButton *)button { UITableViewCell *cell = (UITableViewCell *)[[button superview] superview]; }
设置 cell 间的分割线与左边界无间距
//1.在 controller 的 viewDidLoad 方法中添加如下代码 - (void)viewDidLoad { [super viewDidLoad]; [self.tableView setSeparatorInset:UIEdgeInsetsZero]; [self.tableView setLayoutMargins:UIEdgeInsetsZero]; } //2.重写代理方法中的以下方法并添加如下代码 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { [cell setSeparatorInset:UIEdgeInsetsZero]; [cell setLayoutMargins:UIEdgeInsetsZero]; }
去掉多余的分割线
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
2 UILabel
设置文字居中显示label.textAlignment=NSTextAlignmentCenter;
自动调节文字的字体来适应控件宽度
如果文字字数少,则采用系统的字体或者用户设置的字体来显示文字。
如果文字字数多,设置这个属性可以使文字的字体大小自适应控件宽度。
label.adjustsFontSizeToFitWidth=YES;
3 UITextField
设置内容的垂直对其方式text.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
其值是一个枚举值,有以下几种值
UIControlContentVerticalAlignmentCenter - 居中对齐
UIControlContentVerticalAlignmentButtom - 底部对齐
UIControlContentVerticalAlignmentTop - 顶部对齐
UIControlContentVerticalAlignmentFill - 填充对齐
改变其光标的颜色
通过以下的方式可以改变 UITextField 的光标的颜色为无色
textField.tintColor = [UIColor clearColor];
限制UITextField输入的字符数
// 1.设置监听监听UITextField的内容的改变 [textField addTarget:self action:@selector(textChanged:) forControlEvents:UIControlEventEditingChanged]; // 2.在textChanged:方法中实现对字符数的限制 - (void)textChanged:(UITextField *)textField { if (textField.text.length > 8) { textField.text = [textField.text substringToIndex:8]; } }
4 关于时间和日期
获取与今天相隔几天的日期并转换成字符串类型输出/** * @param date 传入的日期 可以传入[NSDate date] * @param offset 偏移量,即是与传入的日期相差的天数 * @return 转换后的日期的字符串 */ + (NSString *)getDateOfSomeDay:(NSDate *)date offset:(NSInteger)offset { NSCalendar *identifier= [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [gregorian components:NSCalendarUnitWeekday | NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; [components setDay:([components day] + offset)]; NSDate *mDate= [gregorian dateFromComponents:components]; NSDateFormatter *format= [[NSDateFormatter alloc] init]; [format setDateFormat:@"yyyy-MM-dd"]; return [format stringFromDate:mDate]; }
5 NSUserDefaults
删除NSUserDefaults中的内容[[NSUserDefaults standardUserDefaults] removeObjectForKey:key]; [[NSUserDefaults standardUserDefaults] synchronize];
6 获取应用的版本号
代码实现获得应用的Verison号:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
或
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
代码实现获得build号:
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
7 状态栏
更改状态栏的字体颜色为白色,分为两步:在项目中找到plist文件,添加View controller-based status bar appearance,设值为NO。
在APPDelete里面的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions里面输入代码
// 设置状态栏为白色 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
获取状态栏的高度
[UIApplication sharedApplication].statusBarFrame.size.height
8 让APP的启动图片全屏,进入程序后再显示状态栏
在info.list文件中,加上“Status bar is initially hidden”选项,设值为YES在AppDelegate的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中添加设置
[[UIApplication sharedApplication]setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
9 清除NSUserDefaults里面的所有数据
// 先将其转化为字典,然后用forin遍历删除即可 NSUserDefaults *defatluts = [NSUserDefaults standardUserDefaults]; NSDictionary *dictionary = [defatluts dictionaryRepresentation]; for(NSString *key in [dictionary allKeys]){ [defatluts removeObjectForKey:key]; [defatluts synchronize]; }
10 UIButton
设置按钮的点击跳转导航栏的按钮的点击 跳转到下一个 viewController: [self.navigationController pushViewController:secondVC animated:YES]; 让当前 viewController 消失: [self.navigationController popViewControllerAnimated:YES]; 模态的按钮的点击 跳转到下一个 viewController: [self presentViewController:secondVC animated:YES completion:nil]; 让当前 viewController 消失: [self dismissViewControllerAnimated:YES completion:nil];
11 获取导航栏的高度
通过以下代码可以获取导航栏的高度self.navigationController.navigationBar.frame.size.height
12 用UIWebView调用本地文件的方法方法
方法一: NSString *filePath = [[NSBundle mainBundle]pathForResource:@"zhinan" ofType:@"html"]; NSString *htmlStr = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; [webView loadHTMLString:htmlStr baseURL:[NSURL URLWithString:filePath]]; 方法二: NSString *filePath = [[NSBundle mainBundle]pathForResource:@"zhinan" ofType:@"html"]; NSURL *url = [NSURL fileURLWithPath:filePath]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];
13 连续dismiss两个ViewController
[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];
采用以上代码,即可。
相关文章推荐
- IOS开发之细节知识点汇总
- iOS开发工程师面试知识点汇总
- ios开发知识点汇总
- IOS开发之细节知识点汇总
- iOS开发中遇到的小知识点汇总(持续更新)
- IOS开发中常用的知识点汇总
- iOS 开发学习中的一些知识点汇总
- 有关View的几个基础知识点-IOS开发
- UIKeyboard键盘相关知识点-IOS开发
- 有关View的几个基础知识点-IOS开发
- iOS开发 小知识点
- IOS开发问题汇总
- 有关View的几个基础知识点-IOS开发
- IOS开发问题汇总
- UIKeyboard键盘相关知识点-IOS开发
- IOS 游戏/应用开发相关知识点整理
- UIKeyboard键盘相关知识点-IOS开发
- 有关View的几个基础知识点-IOS开发
- Ios开发知识点小结
- 开发IOS教程 中文教程 汇总