控件不可见的可能原因


可能漏掉的条件(UIView为例)

  • 控件初始化
  UIView *view = [UIView alloc] init];
  • 控件的.frame(如果frame的数值是计算的,建议先计算,然后补到CGReceMake里面,这样以后进行更改只要改一个地方)
  //  .frame的origin是以父控件为原点,width,height要>0
  UIView *view = [[UIView alloc] initWithFrame:(frame)];
  | view.frame = (frame)CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloar height);
  //  当view之前设置了.origin,.size,再用.bounds进行改动的时候,其中的.origin的数值是无效的,以自己的中心为原点,只能改动大小
  view.bounds = CGRectMake(0, 0, CGFlat width, CGFlaot height);
  • 控件要添加到父控件中(给控件设置.backgroundColor时候要注意颜色不要和父控件一样,会看不出来)
  [super addSubview:sub];  //  要添加到父控件中,才会显示
  • .background
  //  用现有的颜色
  view.backgroundColor = [UIColor redColor];

  //  自己调颜色,数值要/225.0,还有其他的方法
  view.backgroundColor = [UIColor colorWithRed:(CGFloat)red/255.0 green:(CGFloat)green/255.0 blue:(CGFloat)blue/255.0 alpha:(CGFloat)alpha];
  • .alpha(default is 1.0,当数值小于0.1,就看不见了)
  view.alpha = (CGFloat)alpha;
  • 大小太大或是负数(超出了父控件的范围大小,或者是被别的控件覆盖了)

results matching ""

    No results matching ""