UISegmentedControl使用方法

  1. 初始化的方法

     //一次性初始化多個control,items可以是圖片或者是文字array,系統(tǒng)會自動控制每個單元的大小
     //也可通過正常View的初始化進行
     - (instancetype)initWithItems:(NSArray *)items; 
    
  2. 事件添加

     //通過UIControl的方法來設(shè)置,當改變segments的時候通過事件UIControlEventValueChanged,
     //通過action來處理事件
     [self.mySegmentedControl addTarget:self
                         action:@selector(myAction:)
               forControlEvents:UIControlEventValueChanged];
    
  3. Segmented Controls的內(nèi)容設(shè)置

     //通過索引設(shè)置以及獲取Title和Image          
     - (void)setTitle:(NSString *)title forSegmentAtIndex:(NSUInteger)segment;
     - (NSString *)titleForSegmentAtIndex:(NSUInteger)segment;
     - (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment;
     - (UIImage *)imageForSegmentAtIndex:(NSUInteger)segment;
    
  4. Segmented Controls Segments的設(shè)置

     //在索引點插入一個新的標題的segment
     - (void)insertSegmentWithTitle:(NSString *)title atIndex:(NSUInteger)segment animated:(BOOL)animated;
     //在索引點插入一個新的圖片的segment
     - (void)insertSegmentWithImage:(UIImage *)image  atIndex:(NSUInteger)segment animated:(BOOL)animated;
     - (void)removeSegmentAtIndex:(NSUInteger)segment animated:(BOOL)animated;
     - (void)removeAllSegmens;
     //Segment的數(shù)量
     @property(nonatomic,readonly) NSUInteger numberOfSegments;  
     //被選中的索引
     @property(nonatomic) NSInteger selectedSegmentIndex;
    
  5. Segmented Controls顯示和行為設(shè)置

     //默認值為NO,即點擊后保持選中狀態(tài),如果設(shè)置為YES則,只是短暫的顯示選中狀態(tài)
     @property(nonatomic,getter=isMomentary) BOOL momentary;
     //通過索引調(diào)整每個segment的width,如果設(shè)置為0.0則表示自動調(diào)整大小,默認為0.0
     - (void)setWidth:(CGFloat)width forSegmentAtIndex:(NSUInteger)segment;
     - (CGFloat)widthForSegmentAtIndex:(NSUInteger)segment;
     //通過索引調(diào)整文字或者圖片在segment的offset,默認為(0,0)
     - (void)setContentOffset:(CGSize)offset forSegmentAtIndex:(NSUInteger)segment;
     - (CGSize)contentOffsetForSegmentAtIndex:(NSUInteger)segment;
     //設(shè)置segment是否能選中
     - (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment;       
     - (BOOL)isEnabledForSegmentAtIndex:(NSUInteger)segment;
     //是否根據(jù)內(nèi)容的大小自動調(diào)整寬度
     @property(nonatomic) BOOL apportionsSegmentWidthsByContent NS_AVAILABLE_IOS(5_0);
    
  6. 自定義的外觀

     //設(shè)置UISegmentedControl的邊框,分隔線,文字,點擊后的顏色
     @property(nonatomic,retain) UIColor *tintColor;
     //獲取和設(shè)置背景圖片,通過UIControlState和barMetrics的進行設(shè)置和獲取,主要需要先設(shè)置
     //UIControlStateNormal才會有效果
     - (UIImage *)backgroundImageForState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics
     - (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics
     //設(shè)置分割線的圖片樣式,首先需要設(shè)置UIControlStateNormal不管左邊還是右邊,
     //設(shè)置完成后再調(diào)用設(shè)置方法,根據(jù)UIControlState顯示分割線
     - (void)setDividerImage:(UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetrics
     - (UIImage *)dividerImageForLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetric      //設(shè)置Title的樣式,包括 font, text color,  shadow。通過NSAttributedString.h里面的鍵值對
     - (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
     - (NSDictionary *)titleTextAttributesForState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
     //調(diào)整title和image的位置,通過給定的segment 
     - (void)setContentPositionAdjustment:(UIOffset)adjustment forSegmentType:(UISegmentedControlSegment)leftCenterRightOrAlone barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR; 
     - (UIOffset)contentPositionAdjustmentForSegmentType:(UISegmentedControlSegment)leftCenterRightOrAlone barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容