刚毕业的时候遇到的一些问题,可能很简单但是也可以看一看

原创 2016年05月31日 19:52:21
1.UITableviewCell点击事件不触发,在didSelectRowAtIndexPath中添加[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:NO];
2.取消Cell的点击效果[Cell setSelectionStyle:UITableViewCellSelectionStyleNone];
3.修改navigaItem上的字体颜色self.navigationController.navigationBar.tintColor = [你的颜色];
4.网络获取图片宽和高改变查看是否加了约束
5.tableView不滑动self.tableView.userInteractionEnabled = NO;
6.tableViewCell点击以后cell改变高度- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    if (arr.count > 0) {
        if (indexPath.row == [[arr lastObject] integerValue]) {
            if (self.Selected) {
                return 150;
            } else {
                return 90;
            }
        } else {
            return 90;
        }
        } else {
        return 90;
    }
}
//编辑样式
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{    return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{    NSUInteger row = [indexPath row];
     id deleteObject = [xhcpRobot.messagePage.messagePageArr objectAtIndex:row];
    [removeList removeObject:deleteObject];
 }
#pragma mark -  点击事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if (arr.count > 0) {
        if (indexPath.row == [[arr lastObject] integerValue]) {
            self.Selected = !self.Selected;
        } else {
            self.Selected = YES;
            [arr removeAllObjects];
            [arr addObject:[NSString stringWithFormat:@"%ld",(long)indexPath.row]];
        }
    } else { 
        [arr addObject:[NSString stringWithFormat:@"%ld",(long)indexPath.row]];
    }
    [self.type1tableView reloadData];
    NSLog(@"msgId ===%@",msg.msgId);
    [[HttpRequestService shareHttpRequestService] sendMessageDetailRequest:msg.msgId success:^(id obj) {
        NSLog(@"msg.msgId ===%@",msg.msgId);
    }];
    NSUInteger row = [indexPath row];
    id addObject = [xhcpRobot.messagePage.messagePageArr objectAtIndex:row];
    [removeList addObject:addObject];
}
7.关于NavigationItem.rightBarButtonItem设置
UIButton*rightButton = [[UIButtonalloc]initWithFrame:CGRectMake(0,0,30,30)];
    [rightButtonsetImage:[UIImageimageNamed:@"search.png"]forState:UIControlStateNormal];
    [rightButtonaddTarget:selfaction:@selector(searchprogram)forControlEvents:UIControlEventTouchUpInside];
   UIBarButtonItem*rightItem = [[UIBarButtonItemalloc]initWithCustomView:rightButton];
    [rightButton release];
   self.navigationItem.rightBarButtonItem= rightItem;
    [rightItem release];
这种图片将填满button,大小可控
8.iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS)
新特性要求App内访问的网络必须使用HTTPS协议。
但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。
最终找到以下解决办法:
在Info.plist中添加NSAppTransportSecurity类型Dictionary。
在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES
2.Bitcode问题(通俗解释:在线版安卓ART模式) 
Build Settings”->”Enable Bitcode”改成”NO”
9.CocoaPods pod install/pod update更新慢的问题
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
10.导航栏系统默认情况下修改标题字体大小和颜色
[self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16],NSForegroundColorAttributeName:[UIColor whiteColor]}];
11.改变navigation 导航栏颜色[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
12.//解决从上一界面到下一界面以后,在返回上一界面,上一界面整体控件下移的问题
    self.automaticallyAdjustsScrollViewInsets = NO;
13.在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。
1)获取宽度,获取字符串不折行单行显示时所需要的长度 
CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)];
注:如果想得到宽度的话,size的width应该设为MAXFLOAT。
2)获取高度,获取字符串在指定的size内(宽度超过label的宽度则换行)所需的实际高度.
CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
注:如果想得到高度的话,size的height应该设为MAXFLOAT。
3)实际编程时,有时需要计算一段文字最后一个字符的位置,并在其后添加图片或其他控件(如info图标),下面代码为计算label中最后一个字符后面一位的位置的方法。
CGSize sz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(MAXFLOAT, 40)];
CGSize linesSz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
if(sz.width <= linesSz.width) //判断是否折行
{
        lastPoint = CGPointMake(label.frame.origin.x + sz.width, label.frame.origin.y);  
}
else  
{  
        lastPoint = CGPointMake(label.frame.origin.x + (int)sz.width % (int)linesSz.width,linesSz.height - sz.height);  

14.string去空格
1、使用NSString中的stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]方法只是去掉左右两边的空格;
2、使用NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""];可以去掉空格,注意此时生成的strUrl是autorelease属性的,不要妄想对strUrl进行release操作。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

对于刚接触微擎的可以看一看 目录的基本了解

入口脚本 入口脚本是应用启动流程中的第一环,入口文件根据“系统配置文件”初始化了系统的常量、全局变量及全局对象,并将终端用户的请求通过入口脚本将请求转发到各自的功能模块中。 微擎系统中分为三个...

心情不好或者问题很难解决就看一看

心情不好或者问题很难解决就看一看 写的太好了!专门找来送给那些优柔寡断和喜欢胡思乱想的朋友们,每天一学,摆脱烦恼? (一) 1.不要在流泪的时候做任何决定,情绪负面的时候说话越少越好。 2.不...

搭建Hadoop时候遇到的一些问题以及解决方法

首先我的OS是ubuntu 12.10. 1、记住最好先装Open jdk。要是先装了Sun的其实也行,就是后面配置的时候优先级要设置的高一点,设置个3000神马的,这样才能识别为自动项。 2...

刚学习Tcp通信遇到的一些问题

想做一个Tcp通信的实例,不过服务端是用C#写的,客户端是用java(android)写的,本来只是实现两者互传一次数据,没有什么问题,都正常,后来就想实现以下的流程: 1、建立tcp连接 2、建...

来谈一下我在使用fo-dicom开源库时遇到的一些问题,这篇主要就是针对从RIS那获取worklist的,希望能帮助那些刚接触这个开源库的。

这篇主要就是针对从RIS中获取worklist的

【转载】如果你看不懂KMP算法,那就看一看这篇文章( 绝对原创,绝对通俗易懂)

如果你看不懂KMP算法,那就看一看这篇文章(绝对原创,绝对通俗易懂)KMP算法,俗称“看毛片”算法,是字符串匹配中的很强大的一个算法,不过,对于初学者来说,要弄懂它确实不易。整个寒假,因为家里没有网,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)