iOS-BaseConfig-工程基础配置

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 20.0px; font: 14.0px "Yuanti SC"; color: #000000; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 20.0px; font: 14.0px "Yuanti SC"; color: #333333; background-color: #ffffff }
span.s1 { }
span.s2 { color: #000000 }
span.s3 { color: #ff0000 }
span.s4 { color: #0000ff }
span.s5 { color: #ff2600 }

1> iOS 真机测试包路径:

点击->前往->前往文件夹 : /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2> 超级头文件Pch 配置Build Settings ->prefix header :$(SRCROOT)/工程名/类名

技术分享图片

3>

[_filterBgView addSubview:_hobbyBtn,_interestBtn,_classifyBtn];//分类、兴趣、爱好- (void)filterClickEvent:(UIButton*)sender { sender.selected = !sender.selected; if (sender.selected == YES) { for (UIButton *button in self.filterBgView.subviews) { button.selected = NO; sender.selected = YES; } } if (sender.tag == kClassify_TAG) { if (sender.selected) { NSLog(@"全部分类展开"); }else { NSLog(@"全部分类关闭"); } }else if (sender.tag == kInterest_TAG) { if (sender.selected) { NSLog(@"全部兴趣展开"); }else { NSLog(@"全部兴趣关闭"); } }else if (sender.tag == kHobby_TAG) { if (sender.selected) { NSLog(@"全部爱好展开"); }else { NSLog(@"智能爱好关闭"); } } [self isShowTopView:sender.selected];}5.YYText修改加入图片后文字 变小的问题//创建最主要的attribute文本    NSMutableAttributedString *contentText = [[NSMutableAttributedString alloc] initWithAttributedString:_momentIdea.attributedText];    contentText.yy_font = [UIFont systemFontOfSize:32*uiScale];self.navigationItem.title > self.title>self.tabBarItem.title只要设置self.title,那么self.navigationItem.title和self.tabBarItem.title值不管设置与否都和self.title一致。 tabBarItem.title  设置1. TabBarVC 创建每个子Nav控制器的时候设置有效 CHNavBillVC *navBillCtr = [[CHNavBillVC alloc] initWithRootViewController:viewVC]; navBillCtr.tabBarItem.title = @”账单”; //设置标题 2. 每个子Nav控制的viewDidLoad里设置无效 viewWillAppear里设置有效self.tabBarItem.title = @“账单1”; 3. 每个子Nav控制器的根控制器里viewDidLoad里可以设置 self.title = @”账单2″ self.tabBarItem.title = @“tabBar的title”; //这样设置无效 优先级: 3 > 2 > 1 即同时设置的话, 显示优先级高的内容 重点: 在每个子Nav控制器的根控制器里 self.title可以控制tabBarItem的titlenavigationItem.title 设置1.TabBarVC 创建每个子Nav控制器的时候设置无效 CHNavBillVC *navBillCtr = [[CHNavBillVC alloc] initWithRootViewController:viewVC]; navBillCtr.navigationItem.title = @“Nav”; //无效 2.每个子Nav控制的viewDidLoad, viewWillAppear里设置都无效 self.navigationItem.title = @“账单”; //都无效 3.每个子Nav控制器的根控制器里viewDidLoad里可以设置 self.title = @“微信”; self.navigationItem.title = @”dsadsa”; 优先级:只有3可以设置, 但self.navigationItem.title > self.title, 所以这种优先级可以完成tabBarItem.title和navigationItem.tiltle不一样的显示7.setNeedsDisplay和setNeedsLayout ,layOutSubViewslayOutSubViews:改变布局可以在自己定制的视图中重载这个方法,用来调整子视图的尺寸和位置。UIView的setNeedsDisplay和setNeedsLayout首先两个方法都是异步执行的。setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画 了。setNeedsLayout会默认调用layoutSubViews,就可以处理子视图中的一些数据。综上所述:setNeedsDisplay方便绘图,而layoutSubViews方便出来数据setNeedDisplay告知视图它发生了改变,需要重新绘制自身,就相当于刷新界面.layoutSubViews&drawRectslayoutSubviews在以下情况下会被调用: ? 1、init初始化不会触发layoutSubviews。 ? 2、addSubview会触发layoutSubviews。 ? 3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化。 ? 4、滚动一个UIScrollView会触发layoutSubviews。 ? 5、旋转Screen会触发父UIView上的layoutSubviews事件。 ? 6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件。 ? 7、直接调用setLayoutSubviews。drawRect在以下情况下会被调用: ? 1、如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用。drawRect 掉用是在Controller->loadView, Controller->viewDidLoad 两方法之后掉用的.所以不用担心在 控制器中,这些View的drawRect就开始画了.这样可以在控制器中设置一些值给View(如果这些View draw的时候需要用到某些变量 值). ? 2、该方法在调用sizeToFit后被调用,所以可以先调用sizeToFit计算出size。然后系统自动调用drawRect:方法。 ? 3、通过设置contentMode属性值为UIViewContentModeRedraw。那么将在每次设置或更改frame的时候自动调用drawRect:。 ? 4、直接调用setNeedsDisplay,或者setNeedsDisplayInRect:触发drawRect:,但是有个前提条件是rect不能为0。8.Pop 回上一界面时,移除导航控制器【栈】里面的视图VCNSMutableArray *a = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];        for (UIViewController *vc in a) {            if ([vc isKindOfClass:[XBNewLoginViewController class]]) {                [a removeObject:vc];                self.navigationController.viewControllers = a;                break;            }         }9.判断当前界面是present还是push过来的 NSArray *viewcontrollers=self.navigationController.viewControllers; if (viewcontrollers.count>1) { if ([viewcontrollers objectAtIndex:viewcontrollers.count-1]==self) { //push方式 [self.navigationController popViewControllerAnimated:YES]; } }else{ //present方式 [self.navigationController dismissViewControllerAnimated:YES completion:nil]; }9.如何使CollectionView整体上移 Set setContentOffset if (option==XBMemberExchangeCodeReceiveNotiState) {        [_collectionView setContentOffset:CGPointMake(0, +500*suitScale) animated:YES];    }else if (option==XBMemberExchangeCodeDisappearState){        [_collectionView setContentOffset:CGPointMake(0, -128*suitScale) animated:YES];     }

 

相关文章