Я пытаюсь добавить подпрограмму программно к моему ViewController : UIViewController
с помощью метода, объявленного в моем классе ThirdClass : NSObject
. Вот мой код:Добавить subview программно с использованием метода экземпляра
В файле ViewController.m я:
- (void)viewDidLoad {
[super viewDidLoad];
ThirdClass *instanceOfThirdClass = [[ThirdClass alloc] init];
[instanceOfThirdClass createView];
}
И в моем ThirdClass.m Объявляю метод экземпляра:
-(void)createView{
NSLog(@"enter create app");
UIView *myView = [[UIView alloc]initWithFrame:CGRectMake(50, 0, 320, 100)];
[myView setBackgroundColor:[UIColor redColor]];
ViewController *instanceOfViewController = [[ViewController alloc]init];
[instanceOfViewController.view addSubview:myView];
}
так что проблема, по-видимому, что является Я пытался добавить созданный вид в экземпляр класса, правильный способ сделать это - тот, который был отправлен @ gary-riches ниже,
Вы вызываете [instanceOfThirdClass createView]; но имя метода - createApp. Приведите свой пример, и мы продолжим. Вы также не сказали, что не работает. Жалуется ли вам, что имена ваших методов неверны (они есть). Неужели он терпит неудачу? Не найти метод? –
'createView' против' createApp'? – orkenstein
Помимо вызова неправильного метода вы не добавляете subview в представление предполагаемого объекта. Вместо того, чтобы создавать объект _ViewController_ в _ThirdClass.m_, а затем добавлять к нему subview, верните _myView_ в приемник и затем добавьте subview. – Gandalf