ios - 具有自定义初始化的自定义 UIView 不起作用

标签 ios objective-c uiview

我正在使用最新的 SDK 开发 iOS 应用。

我创建了一个继承自 UIView 的类,每次实例化该类时我都必须进行一些初始化。

我必须调用一个名为 setUpVars: 的方法,但我不知道向该方法发送消息的位置:

- (id)initWithFrame:(CGRect)frame;
- (id)initWithCoder:(NSCoder*)aDecoder;

此类可与自定义 xib 一起使用,或添加到 Storyboard,因此我需要确保在每种情况下都会调用该方法。

- (void)setUpVars
{
    _preferenceKey = @"";
    _preferenceStatus = NO;
    _isDown = NO;
}

我必须在哪里添加 [self setUpVars];

最佳答案

基本上你会想要涵盖这两种情况

- (id)initWithFrame:(CGRect)frame;
{
  self = [super initWithFrame:frame];
  if (self) {
    [self setUpVars];
  }
  return self;
}

- (id)initWithCoder:(NSCoder *)aDecoder;
{
  self = [super initWithCoder:aDecoder];
  if (self) {
    [self setUpVars];
  }
  return self;
}

关于ios - 具有自定义初始化的自定义 UIView 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15357181/

相关文章:

iphone - [iOS]如何获取日历事件,将一个重复事件作为一个事件?

iphone - 如何正确显示新 View 以及如何返回到之前的 View

ios - 动画 removeFromSuperview

ios - "Expected expression in list of expressions"

ios - setDelegate self 并在 ASINetworkQueue 中使用委托(delegate)。请求完成后找不到选择器

objective-c - 在 UIWebView 可以显示之前注释掉 HTML 中的字符串

ios - ViewController 的 subview 的 IBOutlets 在 Storyboard 的 viewDidLoad 中为 nil

ios - 如何在控件上方添加动态大小 View ?

ios - 填写所有 UITextField 后,UIButton 未启用

javascript - react native : Get position updates for every one second