控制器:
//#import
@inte***ce
xm**iewcontroller : uiviewcontroller
@end
//自定義控制項:#import
"xm**iewcontroller.h
"#import
"xmgshop.h
"#import
"xmgshopview.h
"@inte***ce
xm**iewcontroller ()
@property (weak, nonatomic) iboutlet uiview *shopcarview;
@property (weak, nonatomic) iboutlet uibutton *addbutton;
@property (weak, nonatomic) iboutlet uibutton *removebutton;
@property (nonatomic, strong) nsarray *dataarr;
@end
@implementation
xm**iewcontroller/**
* 懶載入 */
- (nsarray *)dataarr
self.dataarr =temparray;
}return
_dataarr;}//
初始化資料
- (void
)viewdidload /**
* 新增到購物車
* * @param button 按鈕 */
- (ibaction)add:(uibutton *)button /**
* 從購物車中刪除
* * @param button 按鈕 */
- (ibaction)remove:(uibutton *)button
@end
//#import
@inte***ce
xmgshopview : uiview
//readonly 只會呼叫get方法
/** 控制項
*///
@property (nonatomic, weak, readonly) uiimageview *iconview;
//[self addsubview:iconview];已經有強指標引用了,這裡用weak
/** 標題控制項
*///
@property (nonatomic, weak, readonly) uilabel *titlelabel;
//提供介面方法
- (void)seticon: (nsstring *)icon;
- (void)setname: (nsstring *)name;
@end
//bean:#import
"xmgshopview.h
"@inte***ce xmgshopview () //
擴充套件屬性
@property (nonatomic, strong) uiimageview *iconview;//
[self addsubview:iconview];有強指標指向了,用weak
* 初始化子控制項(不要設定frame) *
*/-(instancetype)init
return
self;}/*
* * 布局子控制項(可以拿到frame) */
- (void
)layoutsubviews
- (void)seticon:(nsstring *)icon
- (void)setname:(nsstring *)name
@end
//#import
@inte***ce
xmgshop : nsobject
/** 的名稱
*/@property (nonatomic, copy) nsstring *icon;
/** 商品的名稱
*/@property (nonatomic, copy) nsstring *name;
//提供構造方法
/*- (instancetype)initwithicon: (nsstring *)icon name: (nsstring *)name;
+ (instancetype)shopwithicon: (nsstring *)icon name: (nsstring *)name; */
- (instancetype)initwithdict:(nsdictionary *)dict;
+ (instancetype)shopwithdict:(nsdictionary *)dict;
@end
//#import
"xmgshop.h
"@implementation
xmgshop
/*- (instancetype)initwithicon:(nsstring *)icon name:(nsstring *)name
return self;
}+ (instancetype)shopwithicon:(nsstring *)icon name:(nsstring *)name */
- (instancetype)initwithdict:(nsdictionary *)dict
return
self;
}+ (instancetype)shopwithdict:(nsdictionary *)dict
@end
自定義控制項(2)
自定義伺服器控制項屬性的特性 bindable 這個特性表示屬性是否可以繫結乙個有效資料來源。通常使用布林值進行設定。例如 bindable true 如果使用值true標記屬性,表示該屬性可以繫結乙個有效資料來源,且應引發該屬性的屬性更改通知。browsable 指定屬性是否應該在屬性瀏覽器中顯示...
IOS 控制項 自定義UISlider Slider
在軟體中看到的滑塊都比較好看,在網上找了幾個例子,知道怎麼自定義uislider的樣式和滑塊 先建立uislider slider1 uislider alloc initwithframe cgrectmake 30,30,257,7 再設定顏色和數值範圍以及預設值的大小 slider1.back...
ios 自定義控制項 方法
initwithframe 前面已經見到,程式建立 ui控制項時常常會呼叫該方法執行初始化,因此,如果你需要對 ui控制項執行一些額外的初始化,即可通過重寫該方法來實現。initwithcoder 程式通過在 nib檔案中載入完該控制項後會自動呼叫該方法。因此,如果程式需要在 nib檔案中載入該控制...