2015-02-02 5 views
0

Это может быть очень плохой вопрос, поэтому я заранее извиняюсь. Не стесняйтесь сказать мне, есть ли лучший способ приблизиться к этому.«Кастинг» UIView, определенный в раскадровке, в подкласс

Я использую раскадровки для компоновки первоначального расположения объектов. Скажем, что я поставил UIView на раскадровку, и я связываю этот вид с объектом в моем ViewController.m файле storyboardView. Во время выполнения может произойти много с этим UIView, и после шаблона MVC мне бы хотелось, чтобы код, который управляет этим поведением, существует в отдельном подклассе. Как я могу «бросить» это UIView, чтобы он теперь отвечал на подкласс, а не на ViewController?

Я думаю о чем-то подобном, но это не работает. Он не бросает какие-либо ошибки, но цвет фона не краснея, так что я знаю, что я неудачно:

#import "ViewController.h" 

@interface ViewController() 
@property (weak, nonatomic) IBOutlet UIView *storyboardView; 
@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.storyboardView = [[MyView alloc] initWithFrame:self.storyboardView.frame]; 
} 

@end 

Подкласс Заголовок:

#import <UIKit/UIKit.h> 

@interface MyView : UIView 

@end 

Подкласс Реализация:

import "MyView.h" 

@implementation MyView 

- (id)initWithFrame:(CGRect)frame { 

    self = [super initWithFrame:frame]; 
    if (self) { 
     self.backgroundColor = [UIColor redColor]; 
    } 
    return self; 
} 
@end 

ответ

0

в раскадровке можно изменить UIView к любому подклассу, как это enter image description here

+0

Так просто. Благодаря! – Alex

Смежные вопросы