首先要在一個View里面創(chuàng)建UIPickerView.下面是簡單的創(chuàng)建和使用
// 設(shè)置左上角取消按鈕
UIButton *cancleBtn = [UIButton new];
[cancleBtn setTitle:@"取消" forState:UIControlStateNormal];
[cancleBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
cancleBtn.titleLabel.font = [UIFont systemFontOfSize:16];
[cancleBtn addTarget:self action:@selector(cancle) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:cancleBtn];
[cancleBtn makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self).offset(15);
make.left.equalTo(self).offset(15);
}];
// 設(shè)置右上角確定按鈕
UIButton *confirmBtn = [UIButton new];
[confirmBtn setTitle:@"確定" forState:UIControlStateNormal];
[confirmBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
confirmBtn.titleLabel.font = [UIFont systemFontOfSize:16];
[confirmBtn addTarget:self action:@selector(confirm) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:confirmBtn];
[confirmBtn makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self).offset(15);
make.right.equalTo(self).offset(-15);
}];
// 設(shè)置提示語
UILabel *titleView = [UILabel new];
titleView.text = @"請選擇下列內(nèi)容";
titleView.textColor = [UIColor lightGrayColor];
titleView.font = [UIFont systemFontOfSize:15];
[self addSubview:titleView];
[titleView makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self);
make.top.equalTo(cancleBtn.bottom).offset(15);
}];
// 設(shè)置UIPickerView
UIPickerView *picker = [UIPickerView new];
picker.backgroundColor = [UIColor whiteColor];
picker.dataSource = self;
picker.delegate = self;
[self addSubview:picker];
[picker makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(cancleBtn);
make.right.equalTo(confirmBtn);
make.top.equalTo(titleView.bottom).offset(15);
make.bottom.equalTo(self).offset(-10);
}];
/**
取消
*/
- (void)cancle
{
[self dismiss];
}
/**
確認(rèn)
*/
- (void)confirm
{
if ([self.delegate respondsToSelector:@selector(pickerViewDidSelectString:)]) {
[self.delegate pickerViewDidSelectString:self];
}
[self dismiss];
}
#pragma mark - UIPickerViewDataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1; // 組數(shù)
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return self.dataSource.count; // 行數(shù)
}
#pragma mark - UIPickerViewDelegate
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
return 40; // 行高
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [self.dataSource objectAtIndex:row]; // 每行顯示的數(shù)據(jù)
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
_pickerString = [self.dataSource objectAtIndex:row]; // 把選中的行傳給只讀的_pickerString
}
UIPickerView基本使用
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 小學(xué)語文修改病句的方法 修改病句是小學(xué)語文考試中常見的題型,在修改病句之前,我們應(yīng)該清晰的了解有哪些病句現(xiàn)象,下面...
- 一、允許root用戶在任何地方進(jìn)行遠(yuǎn)程登錄,并具有所有庫任何操作權(quán)限, 具體操作如下: 在本機(jī)先使用root用戶登...
- 一個人財富起點之前,一定是知識儲備的起點。要改變自己的人生軌跡,相比于財務(wù)上生硬干癟的計劃,讀書和學(xué)習(xí)的計劃是最先...
- Dear 懷舟: 從昨天開始,狂風(fēng)大作,黃沙四起。夜里下起了雨,今早雖然風(fēng)大,但顯然溫度不低,空氣也干凈了許多。未...