Я хочу вставить вид под viewcontroller.view. Моя идея заключается в обмене viewcontroller.view с tempview во время выполнения.
В "UIViewController + Ext.m":
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class vc = [UIViewController class];
SEL originalSEL = @selector(viewDidLoad);
SEL swizzledSEL = @selector(Easy_viewDidLoad);
Method originalMethod = class_getInstanceMethod(vc, originalSEL);
Method swizzledMethod = class_getInstanceMethod(vc, swizzledSEL);
BOOL didAddMethod =
class_addMethod(vc, originalSEL, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod));
if (didAddMethod) {
class_replaceMethod(vc, swizzledSEL, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));
}
else {
method_exchangeImplementations(originalMethod, swizzledMethod);
}
});
}
- (void)Easy_viewDidLoad
{
UIView *view = self.view ;
UIView *tempV = [[UIView alloc]initWithFrame:CGRectMake(0, 0, ScreenWidth(), ScreenHeight())];
tempV.backgroundColor = [UIColor cyanColor];
self.view = tempV ;
view.frame = CGRectMake(0, NavigationHeight(), ScreenWidth(), ScreenHeight()-NavigationHeight());
[self.view addSubview:view];
[self Easy_viewDidLoad];
}
Когда я добавляю UITextField на контроллер представления, текстовое поле становится первым респондентом. Но приложение убивается и выдает эту ошибку:
- [UIView leftDockItem]: нераспознанный селектор отправлен в экземпляр 0x7f91bb742d80
- Что такое левый DockItem
- Каков базовый способ добавления представления под viewcontroller.view?