Добавление кнопки IBAction в UIViewController - PullRequest
0 голосов
/ 08 июля 2011

У меня есть простой контроллер представления с несколькими кнопками, которые определены как IBActions.Я хочу разместить их в виде прокрутки, в основном делая прокручиваемую страницу целиком (допустим, это действительно большие кнопки, и у меня их много).Как я могу это сделать?Я пытался добавить эти кнопки, но так как они определены как IBAction, это не сработало.

Вот мой код.Спасибо!

- (IBAction) switchFromThird : (id)sender
{
    //some action...
}

- (IBAction) BackHome : (id)sender
{
     //some action...   
}

- (void)viewDidLoad
{
     [super viewDidLoad];    

myScroll.contentSize = CGSizeMake(480, 1000);
myScroll.maximumZoomScale = 4.0;
myScroll.minimumZoomScale = 1.0;
myScroll.clipsToBounds = YES;
myScroll.delegate = self;


[myScroll addSubview:switchFromThird]; //???
[myScroll addSubview:BackHome]; //???


[myScroll release];
}

Ответы [ 2 ]

2 голосов
/ 08 июля 2011

Нет, нет, нет.

Пожалуйста, прочитайте эту статью в iOS Developer Library. Вы не можете добавить метод (функцию) в представление ! Это как если бы вы хотели иметь компьютерную программу в печатном документе на листе бумаги!

Вы должны сделать что-то вроде этого:

  1. Запишите IBOutlet UIButton *BackHomeButton в файл .h .
  2. Откройте файл .xib .
  3. Подключите BackHomeButton розетку к кнопке
  4. Заменить [myScroll addSubview:BackHome]; на [myScroll addSubview:BackHomeButton];.

Тогда и только тогда это будет работать. Как я уже сказал: вы можете печатать только изображения и текст, а не компьютерные программы!

1 голос
/ 08 июля 2011

IBAction с не кнопки. Это методы, которые специально помечены, чтобы Interface Builder мог легко их найти. Вам все еще нужно создать свои кнопки.

Вы можете сделать это в Интерфейсном Разработчике, перетаскивая их из библиотеки объектов в ваше представление прокрутки. Затем вы можете подключить их к своему IBAction, перетаскивая правую кнопку мыши от новой кнопки к любому объекту, для которого вы определяете IBAction.

Если вы предпочитаете создавать свои кнопки программно, вам нужно вызвать [[UIButton alloc[ init ... и затем подключить кнопку к вашему методу с помощью метода кнопки addTarget:action:forControlEvents:. В этом случае нет необходимости объявлять ваши методы как IBAction s, это просто то, что Apple вставила, чтобы облегчить Интерфейсному Разработчику поиск соответствующих методов.

...