我正在使用这个框架HRColorPicker。我想在Storyboard的Autolayout中布局它的子视图,但不知道框架是如何工作的。
它的主类是UIControl的一个子类,名为HRColorPickerView,具有3个属性
@property (nonatomic, strong) IBOutlet UIView <HRColorInfoView> *colorInfoView;
@property (nonatomic, strong) IBOutlet UIControl <HRColorMapView> *colorMapView;
@property (nonatomic, strong) IBOutlet UIControl <HRBrightnessSlider> *brightnessSlider;每个类都有自己的类,每个类都是选择器中的3个子视图之一。
我想要创建一个带有这个颜色选择器的UIViewController。如果我只制作一个普通的UIView并将其添加到UIViewController中的Storyboard中,并将其类型设置为HRColorPickerView,我将得到默认的颜色选择器,它工作得很好。框架的作者说,这些属性是可定制的,甚至在Storyboard中也有它们的例子。但我不知道如何让他们进入我的故事板,以便我可以定制他们。
但是,我想使用Storyboard来布局带有Autolayout的子视图/属性。基本上,我想在VC中创建我自己的视图,将它们设置为3种类型之一,并将它们放在Storyboard中。当我将视图连接到.h文件时,我尝试将视图的类型设置为3中的每一个,但是当我运行时,会出现崩溃,而且我认为我做得不对。我创建了2个UIView和1个UISlider,每个属性都是其中之一。UISlider得到“未识别的选择器”崩溃,这是不应该发生的,因为支持视图的类应该能够处理它。
这是我的.h文件,在Storyboard中,下面的3个属性是*colorPickerView的子视图。
@interface ColorPickerViewController : UIViewController
@property (strong, nonatomic) IBOutlet HRColorPickerView *colorPickerView;
@property (strong, nonatomic) IBOutlet HRColorMapView *colorMap;
@property (strong, nonatomic) IBOutlet HRColorInfoView *colorInfo;
@property (strong, nonatomic) IBOutlet HRBrightnessSlider *brightSlider;
@end发布于 2016-01-11 09:43:10
我不是作者,所以这是我的猜测。库代码有点混乱,因为协议与实际类同名。
根据屏幕截图,添加UI组件并设置自定义类是正确的方法。但是,我认为滑块上发生的错误是因为HRBrightnessSlider是UIControl的子类,所以不能将UISlider拖到视图中。根据这个所以,您需要拖动另一个UIView。
如果您真的想编写自己的滑块,可以通过遵循UISlider协议来拖动和使用HRBrightnessSlider。
https://stackoverflow.com/questions/34717564
复制相似问题