SegmentControl的基本设置

SegmentControl的基本设置


  • 额外之谈,关于自定义NavigationController的NavigationBar
    • + initilize 中统一实现
    • 代码如下
if (self == [LXLArenaNavController class]) {


    // 设置导航条背景图片
    UINavigationBar *bar = [UINavigationBar appearanceWhenContainedIn:self, nil];

    UIImage *image =  [UIImage imageNamed:@"NLArenaNavBar64"];
    // 图片拉伸 ,当然可以直接在图片上进行设置
    image =[image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
    // 设置导航条背景图片  ,样式必须为UIBarMetriDefault
    // 只有UIBarMetriDefault的样式,导航控制器的子控制器view的尺寸才不包括导航条的那部分
    [bar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
    }
  • 控制器view的底层实现。
    • 先调用 - loadView方法,进行设置,当然也可以直接改变样式。
    • 再调用 - viewDidLoad方法,再次对view进行设置,相当与对控制器view
      进行二次改造,但是会覆盖掉前一次
    • 如果外界在进行属性设置,则再进行设置。
    • 代码实现 用- loadView直接修改控制器view为imageView
// 自定义控制器的view
- (void)loadView
{
    UIImageView *bgV = [[UIImageView alloc] initWithFrame:XMGKeyWindow.bounds];

    bgV.image = [UIImage imageNamed:@"NLArenaBackground"];

    // 一定要运行用户交互
    bgV.userInteractionEnabled = YES;

    self.view = bgV;
}
  • UISegmentControl
    • - (instancetype)initWithItems:(NSArray *)items;初始化方法,items:传入选项卡的选项
    • - (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment; 设置某个选项的图片
    • - (void)setContentOffset:(CGSize)offset forSegmentAtIndex:(NSUInteger)segment;设置选项卡内容的偏移量
    • @property(nonatomic) NSInteger selectedSegmentIndex;设置选中的选项卡
    • @property(nonatomic,retain) UIColor *tintColor;设置选项卡的主题颜色,(主要为字体,以及边框颜色)
    • - (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics 设置背景图片,对应状态,显示对应的背景图片
    • - (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state设置字体(富文本) 对应状态的字体。
    • 代码实现如下
    // 设置导航条的titleView内容

    UISegmentedControl *segContontrol = [[UISegmentedControl alloc] initWithItems:@[@"足球",@"篮球"]];

    // 设置UISegmentedControl选中的图片
    [segContontrol setBackgroundImage:[UIImage imageNamed:@"CPArenaSegmentSelectedBG"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];


    // 正常的图片
    [segContontrol setBackgroundImage:[UIImage imageNamed:@"CPArenaSegmentBG"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    [segContontrol setTintColor:[UIColor colorWithRed:0 green:142/255.0 blue:143/255.0 alpha:1]];

    // 设置选中的文字颜色
    [segContontrol setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]} forState:UIControlStateSelected];

    segContontrol.selectedSegmentIndex = 0;


    self.navigationItem.titleView = segContontrol;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UIController是一个自定义的视图控制器类,用于管理和控制应用程序的用户界面。在创建UIController时,可以通过以下步骤进行操作: 1. 创建一个视图控制器对象,例如RootViewController。 2. 将创建的视图控制器对象设置为窗口的根视图控制器,可以使用self.window.rootViewController = rootVC来实现。\[1\] UIControl是一个UI视图的子类,它继承自UIView,并且是UIButton的父类。UIControl具有以下重要方法: - addTarget:action:forControlEvents: 用于添加事件响应的目标和动作。 - addSubview: 用于将子视图添加到控件中。\[2\] 在ViewController中的代码示例中,SegmentControl是一个自定义的UIControl子类,用于创建一个分段控件。在viewDidLoad方法中,通过实例化SegmentControl对象,并设置其属性和事件响应方法,将其添加到视图中。当分段控件的选中索引发生变化时,tab方法会被调用,并打印出选中的索引值。\[3\] 总结起来,UIController是一个自定义的视图控制器类,用于管理和控制应用程序的用户界面。UIControl是一个UI视图的子类,用于添加事件响应和作为容器视图的潜质。在ViewController中的代码示例中,SegmentControl是一个自定义的UIControl子类,用于创建一个分段控件,并实现事件响应方法。 #### 引用[.reference_title] - *1* [iOS基础之UIController(视图控制器)](https://blog.csdn.net/weixin_30762087/article/details/95545725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [UIControl详解](https://blog.csdn.net/vbirdbest/article/details/51491859)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值