iOS开发基础知识--碎片31

iOS开发基础知识--碎片31 

1:UITableViewCell drawInRect 在iOS7中失败

解决办法,把Cell里的布局移到新建的View里面,在View里面实现DrawInRect,然后在Cell里面加载View,代码如下:

@implementation CustomTableViewCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        [self.contentView addSubview:[[CustomContentView alloc]initWithFrame:self.contentView.bounds]];
    }
    return self;
}

@end

@implementation CustomContentView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor clearColor];
    }
    return self;
}

- (void)drawRect:(CGRect)rect
{
    NSDictionary * attributes = @{
                                  NSFontAttributeName : [UIFont fontWithName:@"Helvetica-bold" size:12],
                                  NSForegroundColorAttributeName : [UIColor blackColor]
                                  };

    [@"I <3 iOS 7" drawInRect:rect withAttributes:attributes];
}

@end

 

2:YTKNetwork的内容

YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,其实现了一套 High Level 的 API,提供了更高层次的网络访问抽象。

YTKNetwork 使用基础教程
https://github.com/yuantiku/YTKNetwork/blob/master/BasicGuide.md

YTKNetwork 使用高级教程
https://github.com/yuantiku/YTKNetwork/blob/master/ProGuide.md

3:打开跟关闭MAC隐藏的文件

但通过在"终端"中输入命令, 就可以在Finder中显示出来:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

其实就是修改系统的一个设置, 再重启Finder

同样的道理可以让Finder不显示隐藏文件:

defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder

4:github readme.md 添加图片 

简要:

将图片放在仓库里面,在文件里链接它,最后 push 到 github 上。

github 图片链接格式:

(http://github.com/yourname/your-repository/raw/master/images-folder/xxx.png)

然后在 README.md 里添加:

例如:我在我的 dotvim 文件夹下一个 screenshots 目录,在该目录里有一个 vim-screenshot.jpg 截图。那么添加链接的方式如下

![image](https://github.com/ButBueatiful/dotvim/raw/master/screenshots/vim-screenshot.jpg)

注意:当第一次写完ReadMe文件后,它会保存到项目中,如果要对它进行修改,可以在本地修改后,然后在PUSH到远端项目中;

5:关于导航栏透明度的设置及顶部布局起点位置设置

属性:translucent

关闭

self.navigationController.navigationBar.translucent = NO;

开启

self.navigationController.navigationBar.translucent = YES;

属性:automaticallyAdjustsScrollViewInsets

当 automaticallyAdjustsScrollViewInsets 为 NO 时,tableview 是从屏幕的最上边开始,也就是被 导航栏 & 状态栏覆盖

当 automaticallyAdjustsScrollViewInsets 为 YES 时,也是默认行为

6:ios 7 statusbar 状态栏 navigationbar的颜色而改变

ios7以下的版本设置导航栏背景颜色可以使用

[[UINavigationBar appearance] setTintColor:[UIColor orangeColor]];

ios7以后:

[[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];

默认带有一定透明效果,可以使用以下方法去除系统效果

[navigationController.navigationBar setTranslucent:NO];

项目需要将状态栏的文字颜色设置为白色,以下方法即可

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

改变后需要及时刷新的调用

[viewController setNeedsStatusBarAppearanceUpdate];

如果没有效果,需要在plist文件里设置

View controller-based status bar appearance  = NO

info.plist中 View controller-based status bar appearance这个属性 View controller-based status bar appearance =NO 这个设置为:View Controller 不对status Bar 显示进行操作

时间: 2024-08-06 07:05:54

iOS开发基础知识--碎片31的相关文章

iOS开发基础知识--碎片32

 iOS开发基础知识--碎片32 1:动画属性UIViewAnimationOptions说明 a:常规动画属性设置(可以同时选择多个进行设置) UIViewAnimationOptionLayoutSubviews:动画过程中保证子视图跟随运动. UIViewAnimationOptionAllowUserInteraction:动画过程中允许用户交互. UIViewAnimationOptionBeginFromCurrentState:所有视图从当前状态开始运行. UIViewAnimat

iOS开发基础知识--碎片1

iOS开发基础知识--碎片1  一:NSString与NSInteger的互换 NSInteger转化NSString类型:[NSString stringWithFormat: @"%d", NSInteger]; NSString转化 NSInteger类型:NSInteger = [NSString intValue]; *其它几个同理 [NSString boolValue].[NSString floatValue].[NSString doubleValue] 二:Obje

iOS开发基础知识--碎片3

iOS开发基础知识--碎片3  iOS开发基础知识--碎片3 十二:判断设备 //设备名称 return [UIDevice currentDevice].name; //设备型号,只可得到是何设备,无法得到是第几代设备 return [UIDevice currentDevice].model; //系统版本型号,如iPhone OS return [UIDevice currentDevice].systemVersion; //系统版本名称,如6.1.3 return [UIDevice

iOS开发基础知识--碎片2

iOS开发基础知识--碎片2 六:获得另一个控件器,并实现跳转 UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *registerViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"registerView

iOS开发基础知识--碎片23

iOS开发基础知识--碎片23  1:关于UITableView中关于行重复加载的问题 在Cell里重写prepareForReuse,对一些控件进行清空: 比较简单: -(void)prepareForReuse{ [super prepareForReuse]; _content_label.text = nil; _time_date_label.text = nil; _name_label.text = nil; _career_label.text = nil; } 下面这个是我在c

iOS开发基础知识--碎片21

iOS开发基础知识--碎片21  1:[UIScreen mainScreen].scale知识点 当屏幕分别为640x940时[[UIScreen mainScreen] scale]=2.0 当屏幕分别为320x480时[[UIScreen mainScreen] scale]=1.0 2:如何正确的绘制1像素的线 #define SINGLE_LINE_WIDTH (1 / [UIScreen mainScreen].scale) #define SINGLE_LINE_ADJUST_OF

iOS开发基础知识--碎片24

 iOS开发基础知识--碎片24 1:兼容字体大小6plue跟它以下的区别 #define FONT_COMPATIBLE_SCREEN_OFFSET(_fontSize_) [UIFont systemFontOfSize:(_fontSize_ *([UIScreen mainScreen].scale) / 2)] 在iPhone4~6中,缩放因子scale=2:在iPhone6+中,缩放因子scale=3 运用时: myLabel.font=FONT_COMPATIBLE_SCREEN_

iOS开发基础知识--碎片6

iOS开发基础知识--碎片6  三十三:IOS多视图跳转方法 第一种: 跳转:[self presentModalViewController:control animated:YES]; 返回:[self dismissModalViewControllerAnimated:YES]; 第二种: 跳转:[self.navigationController pushViewController:subTableViewController animated:YES]; 返回:[self.navi

iOS开发基础知识--碎片5

iOS开发基础知识--碎片5  二十三:addSubview和insertSubview 区别 addSubview 是将view加到所有层的最顶层 相当于将insertSubview的atIndex参数设置成view.subviews count 即 [view addSubview:oneview] == [view insertSubview:oneview atIndex:view.subviews count] addSubview是加到最后 insertSubview是加到指定的位置