Вот тривиальный VC называется Clubраскадровки, перетащите ссылку на IBAction с точки зрения контейнера родителю
Club имеет функцию:
@implementation Club
-(IBAction)clickMe
{
NSLog(@"Whoa!");
}
@end
Теперь о ButtonA. Очевидно, что в Storyboard вы можете перетащить из ButtonA в функцию «clickMe» в «Клубе».
Теперь. Что касается ButtonB.
Есть ли способ, в Раскадровка, перетащить из ButtonB, чтобы «щелкнуть мышью» в «Клубе»?
Возможно, используя загадочные объекты «объект», или ... ??
Обратите внимание, что, очевидно, вы можете сделать класс для небольшой точки зрения, и есть функция:
@implementation SmallViewOnRight
-(IBAction)sameAsClickMe
{
[(Club*)self.parentViewController clickMe];
}
@end
Затем вы можете перетащить из ButtonB в sameAsClickMe. Но это полная неприятность.
Обратите внимание, что использование таких видов контейнеров очень удобно для обработки различных «областей» вашего основного вида (особенно, если у вас есть вещи, скользящие вокруг и так далее, и когда у вас много вещей «друг на друга» «). Очень удобно перемещать «разделы» вне основного вида, используя представления контейнера. Но это полная неприятность, «пропуская» клики.
Есть ли неясный способ сделать это в Раскадровке? Ура!
Просто FTR, iOS7 + только, ничего старше
Примечание - происходит в «другом направлении» не хорошо изучены и достаточно легко сделать.
Я не думаю, что это возможно, если вы не установите свой 'View Controller' как' Club'.По коду вы можете использовать свою ссылку «Club» и установить действие, которое вызывается из 'buttonB', как одно действие« Клуба »(если вам нужно некоторое var/let in to update UI или разработать) – r4id4
По моему опыту, точка зрения контейнера должна иметь отдельный контроллер представления, который заботится о себе, чтобы вы не оказались в одном гигантском раздутом классе UIViewController. То, как я бы справился с этой ситуацией, было бы сделать протокол для второго ViewController и установить его делегат как класс ClubViewController. Затем вы можете сделать то, что вы сказали, и использовать метод 'sameAsClickMe', и вызвать его через метод clickMe ™ для ClubViewController через делегат. – sfeuerstein
Эй, ребята! Странно, что вы не можете просто перетащить его в раскадровку, потому что ** они оба созданы **, поэтому нет причин, по которым невозможно. Мне интересно о таинственном объекте? Object? Может ли это иметь значение? SFeuer, в моем длинном параграфе («Примечание ...») Я объясняю пример использования. Знаете, практически невозможно сделать действительно сложные (особенно слайд-экраны) экраны, не используя представления контейнера как небольшие «под» области. Загадка! – Fattie