OC编程的一些UI细节

1/如果你想用一个半透明的View遮住当前窗口,连并NavigationBar也一并遮住的话,那么你需要 将视图添加到navigationController的View上

  [self.navigationController.view addSubview:self.bannerView];
    
  [self.navigationController.view bringSubviewToFront:_bannerView];

  


2/如果你重写了系统的UI Navigation Controller,并且重写了Push方法,连并返回按钮的返回方法也一并重写了,后来你发现你在其他页面的返回事件其实并不是你定义的父类方法,这时候你是无法重写父类方法的,或者你在父类方法定一个block,或者你就重写返回按钮吧;


3/iOS7之后,当你在Nav上添加TableView的时候,你会发现tableView的位置并不是从你的起点开始的 ,这是因为在iOS7之后,如果nav上添加的第一个视图是UIScrollView的时候,系统会默认添加上64的间隔,解决方法是  你把第一个视图添加一个0.1的View使SCrollView成为第二个视图,或者取消系统默认效果

self.automaticallyAdjustsScrollViewInsets = NO;

4/Nav Push出来页面卡顿的问题  网上有哥们说是如果push出来的Controller没有设置背景色的话会大量消耗CPU,也许是有这方面的原因吧。另外一个原因就是你在ViewDidLoad里面进行了过多的操作,非常耗时才会导致进入的时候会卡顿,解决方法是把一些耗时的操作放在 ViewWillAppare里面,令视图先Push然后再加载页面


  

原文地址:https://www.cnblogs.com/lidarui/p/6066684.html