Ответ 1
Если вы вызываете это непосредственно из UIView
(а не a UIViewController
), оно должно быть self.superview
вместо self.view.superview
.
Когда я хочу получить доступ к родительскому UIView
текущего UIView
я объявляю объект родительского UIView
в текущем UIView
и UIView
к нему доступ, назначая родительский объект UIView
для свойства текущего объекта представления.
Есть ли способ избавиться от этого и напрямую вызвать методы или свойства родительского представления?
Я также попытался (parentView *) self.view.superview
но не помогло.
Выдает ошибку при вызове функции для этого объекта как
[UIVIew unrecognized selector......
Если вы вызываете это непосредственно из UIView
(а не a UIViewController
), оно должно быть self.superview
вместо self.view.superview
.
@Naveed: это общий код, который вы можете использовать для любого вида, будь то родительский или дочерний, просто нажмите кнопку с названием кнопки, которую вы хотите нажать, и имя представления, на которое вы хотите пойти. Например, на задней кнопке нажмите u, чтобы перейти к представлению библиотеки, а затем напишите этот код -
-(IBAction)backButtonPressed:(id) sender
{
llibraryView *libraryview=[[libraryView alloc] initWithNibName:nil bundle:nil];
libraryview.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
[self presentModalViewController:libraryview animated:YES];
[libraryview release];
}
Сообщите мне, разрешена ли проблема ур или нет.
Я могу подумать, что вы хотите вызвать метод viewcontroller из своего представления, который вы добавили в представление viewcontroller.
Теперь у вас есть два варианта: вы устанавливаете свой контроллер представления делегатом представления, а затем вызываете свой метод viewcontroller с помощью подхода [delegate performSelector:].
Другим подходом является доступ к вашему представлению viewview, а затем его получение. Вы не можете сделать это напрямую, если бы вы могли сделать это, чтобы победить всю цель MVC.
Но, все же есть выход, здесь вы идете: -
Получить UIViewController из UIView?
Надеюсь, это поможет вам.