我的項目中有幾個實用程序類,它們是基於少數參數生成UIElements的工廠類。例如,考慮這是一個很抽象的例子,使用xcode接口生成器的工廠方法
typedef NS_OPTIONS(NSUInteger, MyButtonType)
{
MyButtonRed,
MyButtonBlue,
MyButtonGray,
// ...
}
@interface MyButtonFactory: UIButton
+ (UIButton *)buttonWithType:(MyButtonType)type // mybuttontype is an enum which contains various different type of buttons.
@end
我的問題是我怎麼在InterfaceBuilder中使用的UI元素這種方法(例如按鈕在這種情況下)?
對於非Interface Builder的元素(代碼完成),我只是用它像這樣>
UIButton *button = [MyButtonFactory buttonWithType:MyButtonRed];
button.frame = (CGRect){ a, b, c, d };
// etc
感謝
只需在您的界面構建器上放置一個按鈕,然後將其類更改爲您的自定義類MyButtonFactory – Priyatham51
是的,但是如何獲取正確的按鈕類型?我的工廠類給出了一個基於傳入「buttonWithType:」方法的類型的按鈕。 – nsuinteger