iOSiOS开发xib,storyboard,autolayout

关于用代码实例化对象与xib实例化文件调用方法的不同

2015-05-31  本文已影响3021人  Top_熊

相信大部分接触过xib与storyboard的开发者都对俩者描述控件赞不绝口,俩者的出现大大降低了开发者开发的时间,不用在设置UI浪费大量的时间和维护臃肿的代码,本文来说一说用代码实例化对象和xib实例化对象系统调用方法的不同

用代码实例化对象

CustomView *customView = [[CustomView alloc] init];

   - (instancetype)init
 {
  if (self = [super init]) {
      self.backgroundColor = [UIColor blueColor];
      self.alpha = 0.5f;
      self.shopsLabel.text = @"商品";
  }
  return self;
 }

需要注意如果创建对象是通过initWithFrame方法是不会调用init方法
的,系统会自动调用initWithFrame方法,而通过init方法创建对象也
会调用initWithFrame方法

通过xib加载对象

[[[NSBundle mainBundle] loadNibNamed:@"CustomView"
owner:nil options:nil] lastObject];
  - (instancetype)initWithCoder:(NSCoder *)aDecoder
{
   if (self = [super initWithCoder:aDecoder]) {
       self.backgroundColor = [UIColor blueColor];
       self.alpha = 0.5f;
       self.shopLabel.text = @"商品";
   }
   return self;
}
  - (void)awakeFromNib
{
   self.shopLabel.text = @"商品";
}

文章比较短,希望可以帮助到遇到此问题的朋友

上一篇 下一篇

猜你喜欢

热点阅读