UISwitch - UISlider - UIDatePick - UISegmentedControl - UIPageControl 五合一

內(nèi)容比較少艺骂,用的也比較少茄厘,稍微記錄一下。都是 UIControl 的 子類铃绒,UIControl 需要好好研究一下。

UISwitch 簡單示例

    // 寫個默認(rèn)的背景螺捐,對比下開關(guān)設(shè)置的rect
    UIView *backgroundView = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
    backgroundView.backgroundColor = [UIColor grayColor];
    [self.view addSubview:backgroundView];
    
    // seitch 大小固定颠悬,只與(x,y) 有關(guān)
    UISwitch *aswitch = [[UISwitch alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
    aswitch.backgroundColor = [UIColor yellowColor];
    [self.view addSubview:aswitch];
    
    // 幾個屬性
    aswitch.thumbTintColor = [UIColor orangeColor]; // 滑塊
    aswitch.onTintColor = [UIColor greenColor]; // on
    aswitch.tintColor = [UIColor redColor]; // off(背景)
    // 設(shè)置開關(guān)
    [aswitch setOn:!aswitch.isOn animated:YES];
    
    // 下面的設(shè)置無效了,也沒有提示...在文檔中才有說 iOS7 之后無效(實在是這玩意沒啥用岸ㄑ)
    aswitch.offImage = [UIImage imageNamed:@"iconfont-off"];
    aswitch.onImage = [UIImage imageNamed:@"iconfont-on"];

UISlider

    // 滑塊 高度已定赔癌,內(nèi)容也會自動調(diào)整,
    self.aslider = [[UISlider alloc] initWithFrame:CGRectMake(10, 100, CGRectGetWidth(self.view.bounds) - 20, 100)];
    [self.view addSubview:self.aslider];
    
    self.aslider.minimumValue = 100;// 最小值
    self.aslider.maximumValue = 900;// 最大值
    self.aslider.value = 200.;// 當(dāng)前值澜沟,一般用來獲取
    
    self.aslider.minimumTrackTintColor = [UIColor redColor];// 已完成的顏色
    self.aslider.maximumTrackTintColor = [UIColor greenColor];// 未完成的顏色
    self.aslider.thumbTintColor = [UIColor blueColor];// 滑塊顏色
    
    self.aslider.minimumValueImage = [UIImage imageNamed:@"iconfont-on"];// 左側(cè)圖片灾票,滑塊,也會對應(yīng)變短
    self.aslider.maximumValueImage = [UIImage imageNamed:@"iconfont-off"];// 右側(cè)圖片
    
    self.aslider.continuous = YES; // yes 時:value 變化就會通知茫虽;no 時:拖動結(jié)束才通知
    
    // 根據(jù)不同的state 設(shè)置圖片刊苍,并獲取
    // 注意這里的image 不做處理的話是隨著滑塊的移動而拉伸的,可以考慮重寫濒析,不使用拉伸的imageView
    [self.aslider setThumbImage:[UIImage imageNamed:@"iconfont-on"] forState:UIControlStateNormal];
    [self.aslider setMinimumTrackImage:[UIImage imageNamed:@"iconfont-on"] forState:UIControlStateNormal];
    [self.aslider setMaximumTrackImage:[UIImage imageNamed:@"iconfont-off"] forState:UIControlStateNormal];
    // 對應(yīng)有獲取圖片正什,就不寫了...

// 添加事件,value 變化号杏。
    [self.aslider addTarget:self action:@selector(valueChange:) forControlEvents:UIControlEventValueChanged];
// 重寫一個 舉例
-(CGRect)minimumValueImageRectForBounds:(CGRect)bounds; {
    for(UIView *view in [self subviews]) {
        if ([view isKindOfClass:[UIImageView class]]) {
            view.clipsToBounds = YES;
            view.contentMode = UIViewContentModeBottomLeft;
            // max 類似
        }
    }
    return bounds;
}

UIDatePick

  • 一般日期選擇
    self.datePick = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 100, CGRectGetWidth(self.view.bounds), 200)];
    [self.view addSubview:self.datePick];
    
    self.datePick.datePickerMode = UIDatePickerModeDateAndTime;
    /*
    typedef NS_ENUM(NSInteger, UIDatePickerMode) {
        UIDatePickerModeTime,           // Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)
        UIDatePickerModeDate,           // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)
        UIDatePickerModeDateAndTime,    // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
        UIDatePickerModeCountDownTimer, // Displays hour and minute (e.g. 1 | 53)
    };
    */

// 設(shè)置 時間選擇 范圍
    self.datePick.minimumDate = [NSDate dateWithTimeIntervalSince1970:0];
    self.datePick.maximumDate = [NSDate date];
    
// 一些設(shè)置婴氮,看另一篇把 分別是:本地,時區(qū)盾致,歷法
    self.datePick.locale = [NSLocale currentLocale];
    self.datePick.timeZone = [NSTimeZone defaultTimeZone];
    self.datePick.calendar = [NSCalendar currentCalendar];
    
// 獲取 和 設(shè)置時間
    NSDate *selectDate = self.datePick.date;
    [self.datePick setDate:[NSDate dateWithTimeIntervalSinceNow:-3600] animated:YES];
    
// 添加事件
    [self.datePick addTarget:self action:@selector(testAction) forControlEvents:UIControlEventValueChanged];

  • 倒計時
就是: UIDatePickerMode:UIDatePickerModeCountDownTimer

    self.datePick.minuteInterval = 1.;// 顯示的時間間隔 n分鐘
    self.datePick.countDownDuration = 120;// 剩余時間(還要自己寫 --);

UISegmentedControl

    NSArray *items = @[@"1",@"2222",@"3",@"444"];
    self.segmentedControl = [[UISegmentedControl alloc] initWithItems:items];
    self.segmentedControl.frame = CGRectMake(10, 100, 300, 66);
    [self.view addSubview:self.segmentedControl];
    

    self.segmentedControl.tintColor = [UIColor redColor];// 顏色
    self.segmentedControl.apportionsSegmentWidthsByContent = YES;// 默認(rèn)NO:平均分主经; YES: 寬度自動調(diào)整。
    NSInteger selectindex = self.segmentedControl.selectedSegmentIndex;// 選中項
    NSLog(@"%zi",self.segmentedControl.selectedSegmentIndex);

    // 移除 插入
    [self.segmentedControl removeSegmentAtIndex:9 animated:YES];
    [self.segmentedControl removeAllSegments];
    [self.segmentedControl insertSegmentWithTitle:@"555" atIndex:0 animated:YES];
    [self.segmentedControl insertSegmentWithTitle:@"555" atIndex:0 animated:YES];
    [self.segmentedControl insertSegmentWithTitle:@"555" atIndex:0 animated:YES];
    [self.segmentedControl insertSegmentWithTitle:@"555" atIndex:0 animated:YES];

    // 設(shè)置屬性 內(nèi)容 寬 偏移 可用性
    [self.segmentedControl setTitle:@"1231" forSegmentAtIndex:0];
    [self.segmentedControl setWidth:100 forSegmentAtIndex:0];
    [self.segmentedControl setContentOffset:CGSizeMake(-40, 20) forSegmentAtIndex:0];
    [self.segmentedControl setEnabled:YES forSegmentAtIndex:0];
    // 對應(yīng)有獲取绰上,也不寫了

    
    // 背景
    [self.segmentedControl setBackgroundImage:[UIImage imageNamed:@"iconfont-off"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    // 屬性字符串
    [self.segmentedControl setTitleTextAttributes:@{NSUnderlineStyleAttributeName:@1} forState:UIControlStateNormal];
    // 內(nèi)容 偏移 type 表示那些需要設(shè)置
    [self.segmentedControl setContentPositionAdjustment:UIOffsetMake(10, 20) forSegmentType:UISegmentedControlSegmentCenter barMetrics:UIBarMetricsDefault];
    
    // 添加事件
    [self.segmentedControl addTarget:self action:@selector(testAction) forControlEvents:UIControlEventValueChanged];


// title 也可以是 image

UIPageControl

一般結(jié)合 scrolleView 使用旨怠,簡單也一下本身的使用。

    self.apageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    [self.view addSubview:self.apageControl];
    
    self.apageControl.numberOfPages = 5;// 總頁數(shù)
    self.apageControl.currentPage = 2;// 當(dāng)前頁
    self.apageControl.hidesForSinglePage = YES;// 單頁時蜈块,隱藏
    
    self.apageControl.defersCurrentPageDisplay = YES;// 相當(dāng)于 標(biāo)記 需要更新page鉴腻,結(jié)合下面的使用
    [self.apageControl updateCurrentPageDisplay];// 更新 page
 
    self.apageControl.pageIndicatorTintColor = [UIColor redColor];// 未選擇的點
    self.apageControl.currentPageIndicatorTintColor = [UIColor greenColor];// 選中的點
    
    // 添加 點擊圓點的 事件
    [self.apageControl addTarget:self action:@selector(testAction) forControlEvents:UIControlEventValueChanged];

1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迷扇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子爽哎,更是在濱河造成了極大的恐慌蜓席,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,222評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件课锌,死亡現(xiàn)場離奇詭異厨内,居然都是意外死亡,警方通過查閱死者的電腦和手機渺贤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評論 3 385
  • 文/潘曉璐 我一進(jìn)店門雏胃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人志鞍,你說我怎么就攤上這事瞭亮。” “怎么了固棚?”我有些...
    開封第一講書人閱讀 157,720評論 0 348
  • 文/不壞的土叔 我叫張陵统翩,是天一觀的道長。 經(jīng)常有香客問我此洲,道長厂汗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,568評論 1 284
  • 正文 為了忘掉前任呜师,我火速辦了婚禮娶桦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匣掸。我一直安慰自己趟紊,他們只是感情好氮双,可當(dāng)我...
    茶點故事閱讀 65,696評論 6 386
  • 文/花漫 我一把揭開白布碰酝。 她就那樣靜靜地躺著,像睡著了一般戴差。 火紅的嫁衣襯著肌膚如雪送爸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,879評論 1 290
  • 那天暖释,我揣著相機與錄音袭厂,去河邊找鬼。 笑死球匕,一個胖子當(dāng)著我的面吹牛纹磺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亮曹,決...
    沈念sama閱讀 39,028評論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼橄杨,長吁一口氣:“原來是場噩夢啊……” “哼秘症!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起式矫,我...
    開封第一講書人閱讀 37,773評論 0 268
  • 序言:老撾萬榮一對情侶失蹤乡摹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后采转,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體聪廉,經(jīng)...
    沈念sama閱讀 44,220評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,550評論 2 327
  • 正文 我和宋清朗相戀三年故慈,在試婚紗的時候發(fā)現(xiàn)自己被綠了板熊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,697評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡察绷,死狀恐怖邻邮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情克婶,我是刑警寧澤筒严,帶...
    沈念sama閱讀 34,360評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站情萤,受9級特大地震影響鸭蛙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜筋岛,卻給世界環(huán)境...
    茶點故事閱讀 40,002評論 3 315
  • 文/蒙蒙 一娶视、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧睁宰,春花似錦肪获、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至红符,卻和暖如春青柄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背预侯。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評論 1 266
  • 我被黑心中介騙來泰國打工致开, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人萎馅。 一個月前我還...
    沈念sama閱讀 46,433評論 2 360
  • 正文 我出身青樓双戳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親糜芳。 傳聞我的和親對象是個殘疾皇子飒货,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,587評論 2 350

推薦閱讀更多精彩內(nèi)容