Использование Xcode 4.3.3, я не могу понять, как подключать розетки в пользовательский класс UIView с объектами, созданными в Interface Builder.Интерфейс Builder не разрешает подключения к пользовательскому классу UIView?
В одном ViewController у меня есть множество кнопок, слайдеров и т. Д., Которые я пытаюсь группировать в Views. Итак, внутри этого ViewController в IB я добавил 3 представления. В любой момент времени будет отображаться только 1 вид.
Я получил пользовательские классы UIView для обработки каждого из этих трех видов. Мой контроллер просмотра создает экземпляр каждого из классов. Я выбрал представление (ы) в IB, открыл Identity Inspector и установил класс (ы) в свой собственный класс (ы). Но когда я попытался перетащить соединения из представления и/или его составных элементов управления в файл .h h пользовательского представления, IB не будет добавлять соединение.
IB позволяет мне добавлять выходы/действия, перетаскивая их в файл .h, но не в файл .h. Я думал, как только я установил класс View в качестве своего собственного класса, я мог бы перетаскивать точки вывода компонентов для своего класса, а не в контроллер представления.
Этот вопрос кажется идентичным моему: how to connect UIview outlets to a custom subview Два решения (вручную добавление точек и установка класса представления в IB) не меняли поведение для меня. Вот ручной розетки я добавил:
customView3.h
#import <UIKit/UIKit.h>
@interface customView3 : UIView
@property (retain) IBOutlet customView3 *view3;
@property (retain) IBOutlet UISlider *slider;
@end
customView3.m
#import "customView3.h"
@implementation customView3
@synthesize view3, slider;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
@end
Что я здесь отсутствует? Что еще мне нужно, чтобы установить/проверить, чтобы добавить выходы в мой пользовательский UIView, а не контроллер вида?
Swell. Поэтому я могу, конечно, определить создание элемента управления, скажем, ползунка, вручную и разместить его там, где я хочу. Как, однако, я программно устанавливаю действия (например, Value Changed) в функции в моем пользовательском классе? Я бы установил slider.delegate = myCustomView? – Thunk
Честно говоря, я не знаю. Я ненавижу интерфейс Builder, и я использую его редко. Чтобы программно добавить действия, используйте метод 'addTarget: действие: forControlEvents:' 'UIControl'. – 2013-02-17 07:50:44
Почему бы просто не использовать 'self', а не IBOutlet для себя с помощью * view3? –